数组转化为list

2022-09-07 10:20:04 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1、Arrays.asList(strArray) 方式 将数组转换List后,不能对List增删,只能查改,否 则抛异常。此时是java.util.Arrays.ArrayList 这里面有java.util.Arrays里面的内部类,里面没有重写增删方法,就会调用父类的AbstractList,可以看到父类的增删方法,就会报错,即使调用iterator也会报错。

代码语言:javascript复制
   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

代码语言:javascript复制
      int [] arr={1,2,3};
   List<Integer> collect = Arrays.stream(arr).boxed().collect(Collectors.toList());
代码语言:javascript复制
 String[] arr={“1”,”2”};
List<String> collect =  Arrays.stream(arr).collect(Collectors.toList());

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147676.html原文链接:https://javaforall.cn

0 人点赞