Java 使用一行代码初始化ArrayList或List的方法代码
时间:2022-10-07
1、使用实例初始化程序创建匿名内部类方式
//一般方式初始化 ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); //创建匿名内部类方式初始化 ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }}; //下面代码是初始化一个不可变的List,而不是一个ArrayList List<String> list = ["A", "B", "C"];
2、使用Arrays.asList初始化
List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata"); //只有一个元素 List<String> places = Collections.singletonList("Buenos Aires"); //用ArrayList创建可变列表,可以用ArrayList通过不可变列表来创建 ArrayList<String> places = new ArrayList<>(Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
3、使用List.of方法初始化
//需要在Java 10,11,12或更高版本中使用 var strings = List.of("foo", "bar", "baz"); //需要在Java 9或更高版本中使用 List<String> strings = List.of("foo", "bar", "baz"); //Java 8或更早版本 List<String> strings = Arrays.asList("foo", "bar", "baz"); //import static java.util.Arrays.asList; //静态导入
注意:上面创建的是一个不可变的List
4、使用Stream.of方法初始化
//静态导入 import static java.util.stream.Collectors.toList; List<String> strings = Stream.of("foo", "bar", "baz").collect(toList());
或
//静态导入 import static java.util.stream.Collectors.toCollection; ArrayList<String> strings = Stream.of("foo", "bar") .collect(toCollection(ArrayList::new)); strings.add("baz");
或
List<String> places = Stream.of("Buenos Aires", "Córdoba", "La Plata").collect(Collectors.toList());
或
ArrayList<String> places = Stream.of("Buenos Aires", "Córdoba", "La Plata").collect(Collectors.toCollection(ArrayList::new));
5、使用Google_Guava初始化
文档:https://github.com/google/guava/wiki/CollectionUtilitiesExplained
ArrayList<String> places = Lists.newArrayList("Buenos Aires", "Córdoba", "La Plata");
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。