如何将一个数组转集合,在面试中被问及的次数相当频发(反正我现在的公司是问了很多次),可能是对于基础的要求吧,但是我发现这样的一个问题还有一个衍生问题压根没被问到过
1、数组转集合 Arrays.asList()这个方法,但是这个方法是不允许添加元素的一旦调用.add()方法就会报错java.lang.UnsupportedOperationException,至于为什么是这样以下是asList()方法的源码
可以看到 new ArrayList<>(a) 其实是一个内部类,而且参数是array一个数组, 如果真的想在转化后的集合中添加元素,用以下方法
List<String> list = new ArrayList(Arrays.asList(arr))
复制代码
再写几种数组转集合的方法
使用Collections.addAll()
String[] arr = {"one", "two", "three"};
List<String> resultList = new ArrayList<>(arr.length);
Collections.addAll(resultList,arr);
复制代码
List.of() 此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。
List<String> resultList = List.of(array);
复制代码
后续有的话继续更新