数组和list互转

数组转list

方法1:(不推荐)

String[] stringArray = { "a", "b", "c", "d", "e" };
List<String> list = Arrays.asList(stringArray);
// 191127 Arrays中有一个静态方法asList可以返回对应的List,如下所示:
Integer[] a = {1, 2, 3};
List<Integer> list = Arrays.asList(a);
// list.add(4); //需要注意的是,这个方法返回的List,是Arrays类的一个内部类,在这个内部类的实现中,内部用的数组就是传入的数组,没有拷贝,也不会动态改变大小,所以对数组的修改也会反映到List中,对List调用add、remove方法会抛出异常。
int[] datas = new int[]{1, 2, 3, 4, 5};
List list = Arrays.asList(datas);
System.out.println(list.size());//1 如果将int改为 Integer,则长度就会变成 5 

方法2:

ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
// 191127 要使用ArrayList完整的方法,应该新建一个ArrayList,如下所示:
List<Integer> list2 = new ArrayList<Integer>(Arrays.asList(a));

方法3:

List<String> list1 = new ArrayList<String>(stringArray.length);
Collections.addAll(list1, stringArray);

list转数组

List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");

String[] strings = new String[list.size()];
list.toArray(strings);

参考:http://www.cnblogs.com/liushaobo/p/4423102.html

参考:java编程逻辑9.1.5

原文地址:https://www.cnblogs.com/ooo0/p/7657386.html