【发布时间】:2020-05-27 02:37:09
【问题描述】:
我试图从我的 map 中删除一个元素,但它给出了一个错误。
代码:
Map<String, String> map = ["a":"test",
"b":"test",
"c":"test",
"d":""]
for (data in map.entrySet()){
if (data.getValue() != ""){
map.remove(data.getKey())
}
}
错误:
Caught: java.util.ConcurrentModificationException*
java.util.ConcurrentModificationException
at first_script.run(first_script.groovy:6)
Process finished with exit code 1
我知道它正在发生,因为我试图同时删除它。有什么方法可以在不为我需要删除的元素创建列表的情况下做到这一点?
【问题讨论】:
-
发生这种情况是因为您在循环遍历地图的同时从地图中删除了某些内容
标签: java dictionary hashmap