A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 漫步人 中级黑马   /  2013-10-26 19:01  /  1275 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用集合框架工具类中的Collections.toArray()将集合变成数组后对其进行了限制(不能进行增删)
但是通过List<Integer> list=Arrays.asList(arr);将数组变成了集合,就应该有集合的特性,为什么呢?

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

3 个回复

倒序浏览
1,将集合变成数组:为了限定对元素的操作。
    当指定类型的数组长度小于集合的size()时,那么该方法内部就会创建一个新的数组,长度为集合的size()。当指定类型的数组长度大于集合的size()时,就不会创建新的数组,所以创建一个刚刚好的数组是最优的。
2,将数组变成集合:可以使用集合的思想来操作数组中的元素。
    注意:将数组变成集合后,不可以使用集合的增删操作,因为数组的长度是固定的。可以使用的方法有:contains()、get()、index()、subList()等,如果进行增删操作,会发生UnsupportedOperationException()异常。
不知道这样可以帮助到你不……

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
哥们。这个问题只要看下源码就完全明白了!
回复 使用道具 举报
兄弟,你真有意思...
我在Collections类里面找了一阵子,你说的方法在Collection接口中...
另外,数组长度是固定的,你本来就不能对数组元素进行增删啊...
顶多是重新初始化一下值...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马