17370845950

Java中如何批量初始化一个List集合
使用Arrays.asList()创建固定大小列表;2. Java 9+可用List.of()创建不可变列表;3. 结合ArrayList构造器与Arrays.asList()实现可变列表;4. 双大括号初始化虽简洁但不推荐。

在Java中批量初始化一个List集合有多种方式,可以根据使用的Java版本和具体需求选择最合适的方法。以下是几种常见且实用的方式。

使用Arrays.asList()

这是最简单直接的方法,适用于创建包含已知元素的固定大小列表。

该方法返回的是Arrays内部类实现的List,不支持添加或删除元素(即不可变长),但可以修改已有元素。

示例:

List list = Arrays.asList("A", "B", "C");
这样就创建了一个包含三个字符串的List。

使用List.of()(Java 9及以上)

Java 9引入了静态工厂方法List.of(),用于创建不可变的List。

这个列表是完全不可变的:不能增删改元素,性能更好,适合常量数据。

示例:

List numbers = List.of(1, 2, 3, 4, 5);

使用ArrayList构造 + Arrays.asList()

如果你需要一个真正可变的ArrayList,并且希望一次性加入多个元素,可以结合使用。

这样创建的List可以自由添加、删除元素。

示例:

List list = new ArrayList(Arrays.asList("apple", "banana", "orange"));
后续可以调用 list.add("grape") 或 list.remove(...) 等操作。

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

这种方式通过实例初始化块来添加元素,语法上看起来像直接赋值。

虽然写法简洁,但会创建匿名内部类对象,每个实例都会持有外部类引用,可能引发内存泄漏,一般不推荐生产环境使用。

示例:

List list = new ArrayList() {{ add("x"); add("y"); add("z"); }};

基本上就这些常用方法。根据是否需要修改列表、Java版本以及性能要求选择合适的方式即可。