Java 数组转List

Java数组转换为List的三种方法解析

方式一Arrays

Arrays.asList(strArray)

注意:得到的list只是原有list的视图,并且不允许增删。详细的看源码。(得到的ArrayList是Arrays的内部类,并不是真正意义的ArrayList)
得到list之后,尽量不要强制类型转换,否则会抛出异常。

方式二

ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray)) ;

方式三:集合工具类Collections

ArrayList< String> arrayList = new ArrayList<String>(strArray.length);
Collections.addAll(arrayList, strArray);
<think> 我们讨论的是Java数组换为List的常见方法及注意事项 注意:直接使用Arrays.asList()得到的List是一个固定大小的列表(基于原数组),不支持添加或删除操作。 如果需要可变列表,通常需要创建一个新的ArrayList。 此外,还要注意基本类型数组和对象数组的区别。 </think> ### Java 数组 List 的几种方法 以下是 Java 中将数组换为 List 的常见方法及代码示例: #### 1. 使用 `Arrays.asList()`(固定大小列表) ```java String[] array = {"Java", "Python", "C++"}; List<String> list = Arrays.asList(array); // 返回固定大小的列表 System.out.println(list); // [Java, Python, C++] ``` **注意**:此方法返回的 List 不可修改大小(不支持 add/remove 操作) #### 2. 创建新 ArrayList(可修改列表) ```java String[] array = {"Apple", "Banana"}; List<String> list = new ArrayList<>(Arrays.asList(array)); list.add("Orange"); // 支持修改操作 System.out.println(list); // [Apple, Banana, Orange] ``` #### 3. Java 8 Stream API(推荐) ```java int[] intArray = {1, 2, 3}; List<Integer> list = Arrays.stream(intArray) // 处理基本类型数组 .boxed() // 装箱操作 .collect(Collectors.toList()); ``` #### 4. 手动遍历(灵活控制) ```java Double[] array = {1.1, 2.2, 3.3}; List<Double> list = new ArrayList<>(); for (Double num : array) { list.add(num); // 可添加额外处理逻辑 } ``` #### 5. Guava 库方法(需第三方库) ```java // 添加 Maven 依赖: com.google.guava:guava import com.google.common.collect.Lists; Character[] chars = {'a', 'b', 'c'}; List<Character> list = Lists.newArrayList(chars); ``` ### 关键注意事项 1. **基本类型处理**: ```java int[] ints = {1,2,3}; // 错误: Arrays.asList(ints) 会将 int[] 视为单个元素 List<Integer> correctList = Arrays.stream(ints).boxed().collect(Collectors.toList()); ``` 2. **不可变列表**: ```java List<String> unmodifiableList = List.of("A", "B", "C"); // Java 9+ ``` 3. **性能考虑**: - 小型数组:`Arrays.asList()` 性能最佳 - 大型数组:Stream API 并行处理更高效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值