欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 中初始化 List 集合的 7 种方式!

程序员文章站 2022-04-06 15:34:00
...

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、匿名内部类

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

输出

getList4: [1, 2, 3]

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

5、ImmutableList

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

输出

getList5: [1, 2, 3]

6、Java8 Stream

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

输出

getList6: [1, 2, 3]

7、Java9 List.of

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

输出

getList7: [1, 2, 3]

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

相关标签: List