Java 数组如何转成List集合
问题描述:对于给定的如下数组,如何转换成List集合?
String[] array = {"a","b","c"};
参考stackoverflow
总结如下几种写法:
1.使用原生方式,拆分数组,添加到List
List<String> resultList = new ArrayList<>(array.length);
for (String s : array) {
resultList.add(s);
}
2.使用Arrays.asList()
List<String> resultList= new ArrayList<>(Arrays.asList(array));
- 注意:调用
Arrays.asList()
时,其返回值类型是ArrayList
,但此ArrayList
是Array
的内部类,调用add()
时,会报错:java.lang.UnsupportedOperationException
,并且结果会因为array
的某个值的改变而改变,故需要再次构造一个新的ArrayList
。
3.使用Collections.addAll()
List<String> resultList = new ArrayList<>(array.length);
Collections.addAll(resultList,array);
4.使用List.of()
- 此方法为
Java9
新增方法,定义在List
接口内,并且为静态方法,故可以由类名直接调用。
List<String> resultList = List.of(array);
原链接:https://stackoverflow.com/questions/157944/create-arraylist-from-array
作者:kangkaii
如果您觉得本文有帮助的话,可以点个推荐呐!!
若有不对或者不合理的地方也欢迎指出,感谢~
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.