java 初始化list
时间: 2025-01-02 18:28:25 浏览: 51
### Java中初始化List集合的方式
#### 使用构造函数创建ArrayList并手动添加元素
这是最基础的方法之一,在实例化`ArrayList`之后通过调用其`add()`方法逐个加入元素。
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
System.out.println(list);
```
#### 利用匿名内部类简化语法糖实现静态初始化
此法利用了匿名内部类特性来减少冗余代码量,适用于已知全部成员的情况。
```java
List<String> fruits = new ArrayList<>(Arrays.asList("orange", "grape"));
System.out.println(fruits);
```
#### 借助Collections框架下的singletonList()
当只需要表示单一元素组成的列表时可以选择这种方法。需要注意的是返回的结果是一个固定大小且不允许修改的容器[^2]。
```java
List<String> animal = Collections.singletonList("dog");
System.out.println(animal);
```
#### 运用Arrays工具类中的asList()转换数组至列表
对于给定的一系列离散数值可以直接采用该手段快速构建相应结构;不过默认情况下得到的对象是只读属性,如果希望后续能够继续追加数据则需进一步封装到新的动态尺寸版本里去[^3]。
```java
// 不可变形式
List<Integer> numbers = Arrays.asList(1, 2, 3);
// 可变形式
List<Double> decimals = new ArrayList<>(Arrays.asList(0.5, 1.5));
decimals.add(2.5);
System.out.println(decimals);
```
#### Stream API流操作收集器Collectors.toCollection()
自Java8引入的新特性能让开发者更灵活地处理批量事务逻辑,下面的例子展示了怎样借助lambda表达式配合stream管道完成相同目标。
```java
import java.util.stream.Collectors;
import java.util.Arrays;
List<Character> letters = Arrays.stream(new Character[]{'a', 'b', 'c'})
.collect(Collectors.toCollection(ArrayList::new));
System.out.println(letters);
```
#### Diamond Operator钻石运算符<>搭配泛型参数推断机制
从JDK7开始支持的一种简洁写法,允许省略右侧构造器后面的类型声明部分从而提升编码效率。
```java
List<Number> nums = new ArrayList<>(List.of(1, 2.0f, 3L));
System.out.println(nums);
```
阅读全文
相关推荐


















