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

Java 初始化集合(List)的方式汇总,new ArrayList()

程序员文章站 2022-04-27 11:03:50
通过本篇的学习,你将了解【5】种以上的集合(List)初始化方式(因为我也在持续更新),最好用的不一定是 new ArrayList()。...

原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重。

前言:

通过本篇的学习,你将了解【5】种以上的集合(List)初始化方式(因为我也在持续更新),最好用的不一定是 new ArrayList()。

集合(List、Set)与数组互转方法,还有注意事项,需要的小伙伴,请看我的另一篇博文https://jiming.blog.csdn.net/article/details/110437544

Java 初始化集合(List)的方式汇总,new ArrayList()


正文

1. ArrayList<E> 常规方式

List list = new ArrayList();
list.add("jimmy");
list.add("amy");
list.add("simmy");

2. 匿名内部类

List<String> list = new ArrayList<>() {{
    add("jimmy");
    add("amy");
    add("simmy");
}};

3. Arrays 工具类

java.util.Arrays 工具使用时,有一点需要特别注意:Arrays.asList() 方法返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList() 体现的是适配器模式,只是转换接口,后台的数据仍是数组。

  • 如果不需要改变数组元素,只做展示完全可以使用:(其实就是数组 Arr 转 List,也可以直接定义元素[])
String[] arr = new String[]{"jimmy","amy","simmy"};
List list_1 = Arrays.asList(arr);
List list_2 = Arrays.asList("jimmy","amy","simmy");
  • 如果改变数组元素,我们可以改进下:(使用 new 创建新对象,该对象是灵活可变的)
String[] arr = new String[]{"jimmy","amy","simmy"};
List list_1 =  new ArrayList<>(Arrays.asList(arr));
List list_2 = new ArrayList<>(Arrays.asList("jimmy","amy","simmy"));

4. JDK 8 Stream

Stream 是 JDK 8 推出来的新概念,比集合还要更强大,还可以和集合互相转换

List<String> list = Stream.of("jimmy","amy","simmy").collect(Collectors.toList());

5. JDK 9 List.of

这是 JDK 9 里面新增的 List 接口里面的静态方法,同样也是不可变的

List<String> list = List.of("jimmy","amy","simmy");

总结

  • 如果初始化时不需要预埋数据,使用 new ArrayList() 很便捷;
  • 如果初始化时需要预埋数据,java.util.Arrays 工具类显得很实用(要注意 Arrays 的特性哦),使用它不需要考虑 JDK 版本。

少侠请留步 ... ヾ(◍°∇°◍)ノ゙ ... 
我是IT无知君,您的点赞、评论和关注,才是我不懈创作的动力!!
学无止境,气有浩然,让我们一起加油,乘风破浪,江湖有缘再见。

本文地址:https://blog.csdn.net/weixin_44259720/article/details/110443166