迭代 ArrayList 时直接调用 list.remove 可能有什么问题?
参考答案
在使用迭代器遍历的同时直接结构性修改同一个 ArrayList,迭代器通常会检测到并抛出 ConcurrentModificationException。
题目解析
需要按条件删除时可使用迭代器自身的 remove 或合适的 removeIf;快速失败检查是错误检测机制,不是并发安全保证。
在使用迭代器遍历的同时直接结构性修改同一个 ArrayList,迭代器通常会检测到并抛出 ConcurrentModificationException。
需要按条件删除时可使用迭代器自身的 remove 或合适的 removeIf;快速失败检查是错误检测机制,不是并发安全保证。