50,639
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
在遍历list的过程中执行改变list长度的操作时应该用iterator来执行。在这个例子中,list初始长度是5,当遍历到第4个元素时会移除该元素,数组长度变成4,这样在下一次遍历时就会因下标越界保错
遍历的过程中不能进行删除操作,应该记录标志位等遍历完统一删除。
不对啊,第二图里我移除第四个元素,没有报错诶。 [quote=引用 1 楼 codeman_cdb 的回复:] 在遍历list的过程中执行改变list长度的操作时应该用iterator来执行。在这个例子中,list初始长度是5,当遍历到第4个元素时会移除该元素,数组长度变成4,这样在下一次遍历时就会因下标越界保错