博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里巴巴手册之-Arrays.asList()数组转集合的问题
阅读量:4352 次
发布时间:2019-06-07

本文共 1018 字,大约阅读时间需要 3 分钟。

转载来源:https://blog.csdn.net/qq_36443497/article/details/79663663?utm_source=blogxgwz9

在使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合的相关方法,他的add/remove/clear方法都会抛出UnsupportedOperationException异常。

说明:

    asList的返回对象是一个Arrays的内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍然是数组。

String[] str = new String[]{"you", "me"};  List list = Arrays.asList(str);

其中第一种情况:list.add("thanks");会报运行时异常。

第二种情况:如果str[0] = "ganma"; ,那么list.get(0);也会随之改变;

较为实用的正确转化为集合并可以使用集合方法的转化方式:

第一:

List
list = new ArrayList
(Arrays.asList(1,2,5,4,3));

    即使用另外的Collection来将自身初始化。

第二:

Colllection
collection = new ArrayList
(); Integer[] moreInts = {6,8,4,5,8,4}; Collections.addAll(collection,moreInts); Collections.addAll(collection,1,5,4,7,8,4,1);

第三:

collection.addAll(Arrays.asList(moreints));

在Java编程思想第四版中表示这三种由上到下为常用较为使用的转化方式。

其中collection.addAll()成员方法只接受另一个Collection对象作为参数,因此他不如asList和Collections.addAll()灵活,因为他们都可以接受可变参数列表。

转载于:https://www.cnblogs.com/bbllw/p/10080152.html

你可能感兴趣的文章
使用GitHub作Free图床
查看>>
linux下C#开发mongoDB
查看>>
Day7--Python--基础数据类型补充,集合,深浅拷贝
查看>>
一路的前端编辑器
查看>>
配置和安装PIA过程中的常见问题
查看>>
hdu 4081 Qin Shi Huang's National Road System 树的基本性质 or 次小生成树思想 难度:1
查看>>
js单图片上传
查看>>
linux常用命令集
查看>>
Unity cg vertex and fragment shaders(一)
查看>>
LeetCode——5.Longest Palindromic Substring
查看>>
ie6 td中无内容时不显示边框的解决办法
查看>>
WPF多线程UI更新
查看>>
selenium学习备忘
查看>>
jsp篇 之 JSTL标签库
查看>>
java篇 之 抽象
查看>>
算法-快排
查看>>
Thread方法解释(join,sleep,yield,interrupt)
查看>>
python --curl重定向到文件范例
查看>>
python --dictionary
查看>>
MongodDB---初识
查看>>