Java中初始化List集合的八种方式汇总

2022-11-13 10:11:58 初始化 汇总 八种

List 是在开发中比较常用的集合,今天总结一下 Java 中初始化 List 的几种方式。

1、常规方式

List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
System.out.println("getList1: " + list);

输出

getList1: [1, 2, 3]

2、Arrays 工具类

// 生成的list不可变
List<String> list = Arrays.asList("1", "2", "3");
System.out.println("getList2: " + list);
// 如果要可变需要用ArrayList包装一下
List<String> numbers = new ArrayList<>(Arrays.asList("1", "2", "3"));
numbers.add("4");
System.out.println("numbers: " + numbers);

输出

getList2: [1, 2, 3]
numbers: [1, 2, 3, 4]

3、Collections 工具类

// 生成的list不可变
List<String> list = Collections.nCopies(3, "1");
System.out.println("getList3: " + list);
// 如果要可变需要用ArrayList包装一下
List<String> dogs = new ArrayList<>(Collections.nCopies(3, "dog"));
dogs.add("dog");
System.out.println("dogs: " + dogs);

输出

getList3: [1, 1, 1]
dogs: [dog, dog, dog, dog]

4、Lists 工具类

List<String> list = Lists.newArrayList("1", "2", "3");
System.out.println("getList4: " + list);

输出

getList4: [1, 2, 3]

5、匿名内部类

List<String> list = new ArrayList<String>() {{
     add("1");
     add("2");
     add("3");
}};
System.out.println("getList5: " + list);

输出

getList5: [1, 2, 3]

该方法用了双弧号语法,可以参考双大括号初始化的理解和使用

6、ImmutableList

List<String> list = ImmutableList.of("1", "2", "3");
System.out.println("getList6: " + list);

输出

getList6: [1, 2, 3]

7、Java8 Stream

List<String> list = Stream.of("1", "2", "3").collect(Collectors.toList());
System.out.println("getList7: " + list);

输出

getList7: [1, 2, 3]

8、Java9 List.of

List<String> list = List.of{"1", "2", "3"};
System.out.println("getList8: " + list);

输出

getList8: [1, 2, 3]

参考:Java 中初始化 List 集合的 6 种方式!

总结

到此这篇关于Java中初始化List集合的八种方式的文章就介绍到这了,更多相关Java初始化List集合内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章