Java中初始化一个List的多种方式

1.最原始的方式:先创建,然后再添加元素

java 复制代码
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");

2.使用Arrays.asList

这是一种快速方便的方式,直接使用数组初始化列表。

java 复制代码
List<String> list = Arrays.asList("apple", "banana", "cherry");

注意:由Arrays.asList返回的列表是固定大小的(基于原始数组的视图),所以后续操作中不能添加或删除元素。如果需要一个可变的列表,可以再用其初始化一个新的ArrayList。

java 复制代码
List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "cherry"));

3.使用双括号初始化(匿名内部类)

这种方法利用了匿名内部类的初始化块。

java 复制代码
List<String> list = new ArrayList<String>() {{
    add("apple");
    add("banana");
    add("cherry");
}};

这种方式虽然写法简洁,但因为创建了匿名内部类,所以可能导致内存泄漏或隐藏的性能问题。

4.使用Collections.addAll

这种方法可以在创建列表后,将多个元素添加到列表中。

java 复制代码
List<String> list = new ArrayList<>();
Collections.addAll(list, "apple", "banana", "cherry");

5.使用Java 8的Stream

利用Stream的操作来生成列表。

java 复制代码
List<String> list = Stream.of("apple", "banana", "cherry")
                          .collect(Collectors.toList());

6.使用List.of(从Java 9开始)

这是Java 9引入的一个便利方法,可以快速创建不可变的列表。

java 复制代码
List<String> list = List.of("apple", "banana", "cherry");

通过List.of创建的列表是不可变的,试图修改它(如添加、删除元素)将抛出UnsupportedOperationException。

总结

这些方法各有特点,可以根据具体需求和Java版本选择适合的初始化方式。

相关推荐
qinzechen几秒前
分享几个做题网站------学习网------工具网;
java·c语言·c++·python·c#
hakesashou2 分钟前
python交互式命令时如何清除
java·前端·python
攒了一袋星辰2 分钟前
今日指数项目项目集成RabbitMQ与CaffienCatch
java·分布式·rabbitmq
VBA63375 分钟前
VBA数据库解决方案第十五讲:Recordset集合中单个数据的精确处理
开发语言
wrx繁星点点9 分钟前
事务的四大特性(ACID)
java·开发语言·数据库
不写八个15 分钟前
Python办公自动化教程(005):Word添加段落
开发语言·python·word
IT学长编程16 分钟前
计算机毕业设计 Java酷听音乐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·音乐系统·计算机毕业设计选题
HEX9CF20 分钟前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
IT学长编程33 分钟前
计算机毕业设计 基于协同过滤算法的个性化音乐推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·毕业论文·协同过滤算法·计算机毕业设计选题·个性化音乐推荐系统
小小娥子38 分钟前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存