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

 更新时间:2022年06月20日 11:28:58   作者:Wilson Tsai  
List 是 Java 开发中经常会使用的集合,下面这篇文章主要给大家介绍了关于Java中初始化List集合的八种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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集合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot+rabbitmq实现指定消费者才能消费的方法

    springboot+rabbitmq实现指定消费者才能消费的方法

    当项目部署到测试环境后,QA测试过程中,总是“莫名其妙”的发现所保存的用户付款单数据有问题。这篇文章主要介绍了springboot+rabbitmq实现指定消费者才能消费,需要的朋友可以参考下
    2021-11-11
  • Java神操作:图片快速转换PDF秘籍

    Java神操作:图片快速转换PDF秘籍

    想掌握Java神操作,将图片快速转换成PDF吗?这份秘籍将一步步引导你,轻松实现这一目标,别等了,跟着我们一起,解锁这项超实用技能吧!
    2024-02-02
  • Java编程思想对象的容纳实例详解

    Java编程思想对象的容纳实例详解

    这篇文章主要介绍了Java编程思想对象的容纳实例详解,内容比较详细,涵盖的东西也比较多,具有参考价值,需要的朋友了解下。
    2017-09-09
  • idea如何配置javafxsdk详细教程

    idea如何配置javafxsdk详细教程

    这篇文章主要介绍了idea如何配置javafxsdk,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习火锅工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot CommandLineRunner的异步任务机制使用

    SpringBoot CommandLineRunner的异步任务机制使用

    这篇文章主要介绍了SpringBoot CommandLineRunner的异步任务机制使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Mybatis中的resultType和resultMap查询操作实例详解

    Mybatis中的resultType和resultMap查询操作实例详解

    resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题。这篇文章主要介绍了Mybatis中的resultType和resultMap查询操作实例详解,需要的朋友可以参考下
    2016-09-09
  • IDEA之如何关闭/开启引用提示Usages

    IDEA之如何关闭/开启引用提示Usages

    这篇文章主要介绍了IDEA之如何关闭/开启引用提示Usages问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java中的StringBuilder类解析

    Java中的StringBuilder类解析

    这篇文章主要介绍了Java中的StringBuilder类解析,该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单线程使用的时候,如果可能,优先采用该类,因为在大多数实现中,String Builder比StringBuffer要快,需要的朋友可以参考下
    2023-09-09
  • 简单了解Java创建线程两种方法

    简单了解Java创建线程两种方法

    这篇文章主要介绍了简单了解Java创建线程两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java8 如何移除两个相同的List对象

    Java8 如何移除两个相同的List对象

    这篇文章主要介绍了Java8 如何移除两个相同的List对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论