ArrayList foreach循环删除为什么出现问题?
考察说明
考察对集合迭代机制与并发修改异常的深入理解
回答思路
- 指出foreach本质是迭代器遍历,删除元素会触发modCount检查
- 解释remove操作修改modCount导致fast-fail抛出ConcurrentModificationException
- 说明具体删除的是最后一个元素时可能不报错的原因
- 提出安全删除方案如迭代器remove、倒序遍历或CopyOnWriteArrayList
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。