Java 中数组转集合的方法

Java 中数组转集合的方法

1. 对于对象引用数组

1.1. 使用 Arrays.asList() 方法

这是最常用的方法,适用于对象数组(非基本类型数组):

String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array); //不可变,同时修改会反映到原数组
List<String> list2 = new ArrayList(list); //可变

注意
• 返回的 List 是固定大小的,不能添加或删除元素
• 对返回列表的修改会反映到原数组

1.2. 使用 Collections.addAll() 方法
String[] array = {"a", "b", "c"};
List<String> list = new ArrayList<>();
Collections.addAll(list, array);

这种方法创建的 List 是可变的。

1.3. 使用 Java 8 Stream API
String[] array = {"a", "b", "c"};
List<String> list = Arrays.stream(array).collect(Collectors.toList());

或者更简洁的写法:

List<String> list = Stream.of(array).collect(Collectors.toList());
1.4. 使用 List.of() (Java 9+)

Java 9 引入了 List.of() 方法:

String[] array = {"a", "b", "c"};
List<String> list = List.of(array);

注意:返回的 List 是不可变的。

2. 对于基本类型数组

基本类型数组需要特殊处理,因为 Arrays.asList() 不能正确处理基本类型数组:

int[] intArray = {1, 2, 3};
List<Integer> list = Arrays.stream(intArray)
                          .boxed()
                          .collect(Collectors.toList());

3. 手动遍历添加

String[] array = {"a", "b", "c"};
List<String> list = new ArrayList<>();
for (String item : array) {
    list.add(item);
}

选择建议

• 如果需要可变集合:使用 new ArrayList<>(Arrays.asList(array))Collections.addAll()
• 如果不需要修改集合:使用 Arrays.asList()List.of()
• 对于基本类型数组:使用 Stream API 的 boxed() 方法

记住,数组和集合之间的转换可能会影响性能,特别是在处理大量数据时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值