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版本选择适合的初始化方式。

相关推荐
wangjialelele几秒前
二刷C语言后,一万字整理细碎知识点
c语言·开发语言·数据结构·c++·算法·cpp
mjhcsp4 分钟前
P3145 [USACO16OPEN] Splitting the Field G(题解)
开发语言·c++·算法
rit84324997 分钟前
UVE算法提取光谱特征波长的MATLAB实现与应用
开发语言·算法·matlab
Coder_Boy_11 分钟前
基于SpringAI的在线考试系统-教学管理与用户管理模块联合回归测试文档
java·前端·数据库·人工智能·spring boot
Knight_AL11 分钟前
一文讲透 Java 中transient的用处(结合 Flink 理解)
java·python·flink
阿蒙Amon12 分钟前
C#每日面试题-简述反射
开发语言·面试·c#
越甲八千17 分钟前
python socket
开发语言·python
xqqxqxxq18 分钟前
《智能仿真无人机平台(多线程V1.0)技术笔记》(初识线程,带你理解程序运行的基本流程)
java·笔记
缺点内向19 分钟前
告别“复制粘贴”:用C#和模板高效生成Word文档
开发语言·c#·word
edisao20 分钟前
【开源】轻量级 LLM 文本质检工具:精准识别核心概念缺失,支持动态别名 + 反馈闭环
大数据·开发语言·人工智能·经验分享·gpt·架构·开源