在 Java 中初始化 ArrayList
本教程讨论了在 Java 中一行行初始化一个带值的 ArrayList 的方法。它对于测试和最小化编码非常方便。
在 Java 中使用 Arays.asList
初始化一个 ArrayList
在 Java 中,用一行初始值初始化一个列表而不是一个 ArrayList
相对来说比较容易。但是,如果需要的话,可以将其转换为 ArrayList
。下面的例子说明了这两种方式。
import java.util.*;
public class Main {
public static void main(String[] args) {
// Initialize a list
List<String> cities = Arrays.asList("Amsterdam", "Paris", "London");
// Initialize an ArrayList
ArrayList<String> cities_AL = new ArrayList<>(Arrays.asList("Amsterdam", "Paris", "London"));
System.out.println(cities);
System.out.println(cities_AL);
}
}
输出:
[Amsterdam, Paris, London]
[Amsterdam, Paris, London]
cities
和 cities_AL
的唯一区别是一个是 List
,另一个是 ArrayList
。
在 Java 中使用 new ArrayList()
初始化一个 ArrayList
另一种初始化 ArrayList 的方法是使用 new ArrayList()
函数。你可以在一行代码中预先分配所有的值。
import java.util.*;
public class Main {
public static void main(String[] args) {
// Pre assign the values
ArrayList<String> cities = new ArrayList<String>() {{
add("Amsterdam");
add("Paris");
add("London");
}};
System.out.println(cities);
}
}
输出:
[Amsterdam, Paris, London]
在 Java 中使用 List.of()
初始化一个 ArrayList
在 Java9 或更高版本中,我们可以使用 List.of()
方法代替 Arrays.asList()
来初始化 Java 中的 ArrayList。下面的例子说明了这一点。
import java.util.*;
public class Main {
public static void main(String[] args) {
// Initialize a List
List<String> strings = List.of("foo", "bar", "baz");
System.out.println(strings);
// Initialize an ArrayList
ArrayList<String> strings_a = new ArrayList<>(List.of("foo", "bar", "baz"));
System.out.println(strings_a);
}
}
输出:
[foo, bar, baz]
[foo, bar, baz]
在 Java 中使用 Stream
初始化一个 ArrayList
我们也可以在 Java 中使用 Stream
来初始化一个 ArrayList。下面的例子说明了这一点。
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
ArrayList<String> places = new ArrayList<>(Stream.of("Buenos Aires", "Córdoba", "La Plata").collect(Collectors.toList()));
System.out.println(places);
}
}
输出:
[Buenos Aires, Córdoba, La Plata]
在本文中,我们已经讨论了几种在 Java 中用一行预赋值初始化 ArrayList 的方法。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。