转换数组为List
1、 使用java.util.Arrays工具类中的asList()方法(这个不是Java8中新增的内容):
String[] arrays = new String[]{"a", "b", "c"};
List<String> listStrings = Arrays.asList(arrays);
注意
: 将数组转换List
后,不能对List
增删,只能查改,否则抛出 UnsupportedOperationException
异常
Arrays.asList(strArray)返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,它并非java.util.ArrayList类。java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法,所以调用add()方法会报错。
2.使用asList()
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arrays));
3.使用Collections.addAll()
List<String> list2 = new ArrayList<String>(arrays.length);
Collections.addAll(list2, arrays);
4.使用Stream中的Collector收集器,代码:
String[] arrays = new String[]{"a", "b", "c"};
List<String> listStringOne = Stream.of(arrays).collector(Collectors.toList());
List<String> listStringTwo = Arrays.stream(arrays).collector(Collectors.toList());
转换List为数组
1、 使用List中的toArray()方法
String[] sss = listStrings.toArray(new String[listStrings.size()]);
2、 使用Stream:
String[] ss = listStrings.stream().toArray(String[]::new);