数组转List的方法

数组转List的方法:

String[] s = new String[2];
s[0]="abc";
s[1]="qaz";

方法一:Arrays.asList(s)

List list = Arrays.asList(s);
list.add("efgk");//报错
list.set(1,"plo");

返回值是Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,并非java.util.ArrayList类。该静态内部类ArrayList的成员变量a使用了final,用于存储集合的数组引用始终被强制指向原有数组java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法.

方法二:new ArrayList<>(Arrays.asList(s))

List list = new ArrayList<>(Arrays.asList(s));
list.add("efgk");
list.set(1,"plo");
创建了新的集合,对集合的修改不会修改数组里的值.

方法三:Collections.addAll(list,s)

ArrayList list = new ArrayList<>();
Collections.addAll(list,s);

根据数组长度,创建一个长度相同的list,通过Collections.addAll(),将数组里的元素转为二进制,然后添加到list里(最高效).

posted @ 2023-01-04 00:20  OKGOsky  阅读(249)  评论(0)    收藏  举报