黑马程序员技术交流社区

标题: 集合和数组的转换 [打印本页]

作者: xman20    时间: 2015-3-25 20:17
标题: 集合和数组的转换
学到视频有一个地方不太明白。

毕老师说数组转集合后,能够去进行一些集合才有的操作,但是不能进行增删。

如果转成集合了,就已经是在操作一个集合了,集合的长度不是固定的,为什么不能使用增删操作呢?
作者: wkz_crystal    时间: 2015-3-25 21:35
我是这样理解的:这也是应该注意的重点:
第一:由于数组的长度是不可变,所以转换为集合之后,他成了一个【固定模式】,不能应用那么些能改变数组长的集合方法去让其改变            比如:删除元素,增加元素都是做不到的!
其实我后来研究了源asList方法的源代码发现:
即是通过查看Arrays类的源码可以知道,asList返回的List是Array中的实现的内部类,而该类并没有定义add和remove方法,所以自然不鞥删除和增加了……记住就行了!






作者: xman20    时间: 2015-3-26 13:31
wkz_crystal 发表于 2015-3-25 21:35
我是这样理解的:这也是应该注意的重点:
第一:由于数组的长度是不可变,所以转换为集合之后,他成了一个 ...

明白了,多谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2