黑马程序员技术交流社区

标题: 三种迭代器的能否删除集合元素 [打印本页]

作者: 流川枫    时间: 2016-8-17 23:23
标题: 三种迭代器的能否删除集合元素
*普通for循环,可以删除集合元素,但是注意索引要自减!
*迭代器 可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
*增强for循环不能删除,因为使用增强for没有索引,无法删除!
作者: talons    时间: 2016-8-17 23:36
楼主理解的很通透啊。能不能举一个普通for循环删除集合元素的实例。

作者: 1344667911    时间: 2016-8-17 23:45
谢谢楼主的提醒
作者: zaoan    时间: 2016-8-18 02:08
高效的东西,代码简单了,就会有缺陷哈
作者: 水月灬清影    时间: 2016-8-18 08:24
1)普通for循环并不是迭代器……删除元素使用选择排序思想…………
2)迭代器修改集合会出现并发修改异常,是因为集合改变了而迭代器并不知道,用List集合特有的迭代器ListIterator或者使用普通for可以解决…………
3)增强for循环不能更改集合元素,是因为增强for底层是迭代器…………
作者: li--yong    时间: 2016-8-18 18:01
remove删除的只能是最后一个元素




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