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

相关文章

  • MyBatis拦截器:给参数对象属性赋值的实例

    MyBatis拦截器:给参数对象属性赋值的实例

    下面小编就为大家带来一篇MyBatis拦截器:给参数对象属性赋值的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java注解详细介绍

    Java注解详细介绍

    这篇文章主要介绍了Java注解详细介绍,本文讲解了Java注解是什么、Java注解基础知识、Java注解类型、定义Java注解类型的注意事项等内容,需要的朋友可以参考下
    2014-09-09
  • Elasticsearch 计数分词中的token使用实例

    Elasticsearch 计数分词中的token使用实例

    这篇文章主要为大家介绍了Elasticsearch 计数分词中的token使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • @JsonSerialize(using = LongToStringUtil.class)注解的使用方式

    @JsonSerialize(using = LongToStringUtil.class)注解的使

    这篇文章主要介绍了@JsonSerialize(using = LongToStringUtil.class)注解的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • MyBatis的核心配置文件以及映射文件

    MyBatis的核心配置文件以及映射文件

    这篇文章主要介绍了MyBatis的核心配置文件以及映射文件,Mybatis它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低,需要的朋友可以参考下
    2023-05-05
  • Java基础教程之基本类型数据类型、包装类及自动拆装箱

    Java基础教程之基本类型数据类型、包装类及自动拆装箱

    这篇文章主要给大家介绍了关于Java基础教程之基本类型数据类型、包装类及自动拆装箱的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 聊一聊jdk1.8中的ArrayList 底层数组是如何扩容的

    聊一聊jdk1.8中的ArrayList 底层数组是如何扩容的

    这篇文章主要介绍了聊一聊jdk1.8中的ArrayList 底层数组是如何扩容的,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • java class name实例深入精讲

    java class name实例深入精讲

    这篇文章主要为大家介绍了java class name实例深入精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • SpringMVC中如何获取@PathVariable的值

    SpringMVC中如何获取@PathVariable的值

    这篇文章主要介绍了SpringMVC中如何获取@PathVariable的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 浅谈Maven的build生命周期和常用plugin

    浅谈Maven的build生命周期和常用plugin

    Maven和gradle应该是现代java程序员中使用的最多的两种构建工具。在它们出现之前,则是ant的天下。本文将介绍Maven的build生命周期和常用plugin。
    2021-06-06

最新评论