后端岗位面试题更新 2026-08-05

在 Java 中,使用 for 循环遍历 List 时移除元素和在迭代器遍历时移除元素,分别什么情况下会报错,什么情况下可以正常运行?

淘天集团后端开发互联网/IT风险判断技术原理Java

考察说明

考察集合遍历与并发修改的异常机制和正确操作方式

回答思路

  1. 指出使用普通 for 循环按索引遍历时直接移除通常不报错但可能漏元素,倒序遍历可安全移除
  2. 说明使用增强 for 循环(for-each)内部使用迭代器,直接移除会抛出 ConcurrentModificationException
  3. 说明显式使用迭代器遍历过程中调用 iterator.remove() 是安全的
  4. 分析迭代器遍历时调用 list.remove() 会触发 fast-fail 机制报错
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。