java - 如何在没有 ConcurrentModificationException 的情况下使用 for-each 循环进行迭代时修改集合?

标签 java collections concurrentmodification

如果我在使用 for-each 循环迭代集合时修改集合,它会给出 ConcurrentModificationException。有什么解决办法吗?

最佳答案

使用 Iterator#remove .

这是在迭代期间修改集合的唯一安全方法。如需更多信息,请参阅 The Collection Interface教程。

如果您还需要在迭代时添加元素,请使用ListIterator .

关于java - 如何在没有 ConcurrentModificationException 的情况下使用 for-each 循环进行迭代时修改集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6958478/

相关文章:

java - 无法使用 Collections.copy() 方法将数据从一个列表复制到另一个列表

java - 在8843端口启动Jboss服务器5.x

java - Collections.unmodifiableCollection(list) 是否复制集合?

c# - XMLSerializer 保持大写集合中的项目

java - 如何在 Java 中修改对象时对其进行迭代?

java - 创建 bean 时出错 - JpetStore 示例

java - Spring Boot 应用程序在 Heroku code=H10 上崩溃

c# - CollectionBase 类是否仍然受支持?

java - 同时从 ArrayList 中删除两个对象而不引发 ConcurrentModificationException?

java - 从 ArrayList 中删除对象时如何避免并发修改异常”