【问题标题】:Why getting ConcurrentModificationException in HashMap为什么在 HashMap 中获取 ConcurrentModificationException
【发布时间】:2021-01-31 22:39:55
【问题描述】:

我有一个类似下面的代码来循环遍历哈希图,但我得到了错误

并发修改异常

for (String i : currentItems.keySet()) //I am hitting error in this line
   {
         items.put(i,currentItems.get(i));
         currentRoom.removeItem(i);
         System.out.println(items.get(i));
   }

我将不胜感激以上任何建议。

【问题讨论】:

  • 请显示minimal reproducible example。特别是如何初始化currentItemsitems。另外,currentRoom.removeItem(i) 会影响currentItems吗?

标签: java for-loop hashmap


【解决方案1】:
  1. Java 不允许在迭代集合时修改集合
  2. 对于任何需要在迭代时修改的用例,请使用Iterator

请参考this question

【讨论】:

    猜你喜欢
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2023-04-09
    • 2014-05-14
    • 2014-09-11
    • 2020-11-08
    相关资源
    最近更新 更多