前言
在 Java 语言中,创建 List 的同时添加元素的实现。
实现
方式一
我们可以用 Java 8
的 Stream API
的方式来实现:
// 整数型
Stream.of(1,2).collect(Collectors.toList());
// 字符串型
Stream.of("lang", "jia", "ling").collect(Collectors.toList());
注:
- 这种方式创建的 List 是可变的。
方式二
List<String> list = Arrays.asList("apple", "banana", "orange");
注:
- 这种方式创建的 List 是可变的但固定大小的 List。即创建之后可以修改元素的值,但不可添加或删除元素。
方式三
使用 Java 9
引入的 List.of()
方法,该方法是用于创建不可变的列表(immutable list
)。
List<Map<String, Object>> list = List.of(
Map.of("key", 10),
Map.of("key", 5),
Map.of("key", 25),
Map.of("key", 30),
Map.of("key", 50));
拓展
但使用如下方式时,创建出来的 List 是可变的:
List<Map<String, Object>> list = new ArrayList<>(List.of(
Map.of("key", "10"),
Map.of("key", "5"),
Map.of("key", "25"),
Map.of("key", "30"),
Map.of("key", "50")));
尽管初始 List.of() 方法创建的 List 是不可变的,但在将其传递给 ArrayList 的构造函数时,会生成一个新的ArrayList对象,该对象是可变的。
总结
在 Java 中实现创建 List 的同时添加元素。