1、Arrays.asList(strArray) 方式
将数组转换List后,不能对List增删,只能查改,否 则抛异常。此时是java.util.Arrays.ArrayList 这里面有java.util.Arrays里面的内部类,里面没有重写增删方法,就会调用父类的AbstractList,可以看到父类的增删方法,就会报错,即使调用iterator也会报错。
public void add(int index, E element) {
throw new UnsupportedOperationException();
}
public E remove(int index) {
throw new UnsupportedOperationException();
}
2、ArrayList的构造器
将Arrays.asList(strArray)的返回值由java.util.Arrays.ArrayList 转为java.util.ArrayList。
关键代码:ArrayList list = new ArrayList(Arrays.asList(strArray)) ;
3、集合工具类Collections.addAll()方法
通过Collections.addAll(arrayList, strArray)方式转换,根据数组的长度创建一个长度相同的List,然后通过Collections.addAll()方法,将数组中的元素转为二进制,然后添加到List中,这是最高效的方法。
4.使用spring
Int[] a={1,2,3};
List list=CollectionUtils.arrayToList(a);
5.使用java 8
int [] arr={1,2,3};
List<Integer> collect = Arrays.stream(arr).boxed().collect(Collectors.toList());
- 1
- 2
String[] arr={“1”,”2”};
List<String> collect = Arrays.stream(arr).collect(Collectors.toList());
本文详细介绍了Java中将数组转换为List的几种常见方法,包括Arrays.asList()的限制、使用ArrayList构造器、Collections.addAll()方法以及Java 8的Stream API。文章深入解析了每种方式的工作原理,并指出了不同方法在增删操作上的差异,对于理解和优化代码性能具有指导意义。

1548

被折叠的 条评论
为什么被折叠?



