Java中初始化List集合的八种方式汇总
作者:Wilson?Tsai 时间:2021-09-20 22:31:54
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 种方式!
来源:https://blog.csdn.net/qq_39101581/article/details/88393876
标签:java,初始化,list集合
0
投稿
猜你喜欢
Flutter状态管理Bloc使用示例详解
2023-08-24 09:09:10
三道java新手入门面试题,通往自由的道路--多线程
2023-05-24 23:12:51
图解Java线程的生命周期
2022-04-12 15:16:10
java实现简单单链表
2023-10-30 09:45:46
JAVA递归生成树形菜单的实现过程
2023-07-15 08:57:22
Java设计模式之命令模式
2022-06-17 22:49:07
SpringBoot MongoDB 索引冲突分析及解决方法
2023-01-23 06:28:05
Java的引用类型常用的四种方法
2023-11-29 14:05:24
mybatis批量新增、删除、查询和修改方式
2023-11-23 10:13:01
WPF实现多运算符表达式计算器
2023-07-17 10:31:40
基于idea 的 Java中的get/set方法之优雅的写法
2023-11-26 20:22:50
关于SpringGateway调用服务 接受不到参数问题
2023-08-31 13:05:00
Java金额大小写的转换方法
2023-08-23 00:26:11
java转树形结构工具类详解
2021-07-26 04:00:08
深入理解Javascript中的this关键字
2022-03-08 16:52:25
Commons beanutils组件简介
2023-11-28 07:13:27
java实现连连看游戏课程设计
2023-10-30 13:18:37
一文让你搞懂如何手写一个redis分布式锁
2023-11-29 02:46:30
学习使用Material Design控件(一)
2023-07-27 13:14:06
Java集合框架之List ArrayList LinkedList使用详解刨析
2022-04-24 13:43:43