知灵犀知练
← 返回

Java 集合进阶简答题

迭代 ArrayList 时直接调用 list.remove 可能有什么问题?

参考答案

在使用迭代器遍历的同时直接结构性修改同一个 ArrayList,迭代器通常会检测到并抛出 ConcurrentModificationException。

题目解析

需要按条件删除时可使用迭代器自身的 remove 或合适的 removeIf;快速失败检查是错误检测机制,不是并发安全保证。