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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ma464526717 中级黑马   /  2016-2-23 23:59  /  763 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

for循环遍历集合为什么不可以删除操作啊?

4 个回复

正序浏览
你说的是增强for循环吧,它底层是迭代器实现的,用迭代器删除元素会出现并发修改异常,所以增强for不能删除集合中的元素!!
回复 使用道具 举报
本帖最后由 yindalei00 于 2016-2-24 21:25 编辑

for (int i = 0; i < list.size(); i++) {        删除就改变size值 了  集合索引也改变,如果 连续两个数据相同  那个只删除掉一个,所以在删除语句改为list.remove(i--)并不是说 不能删除     建议查看                        java基础 16.15_集合框架(三种迭代的能否删除)
回复 使用道具 举报
把代码粘过来让大家瞧瞧,谢谢
回复 使用道具 举报
可以啊,哪个不能删除,举个例子看下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马