gpt4 book ai didi

Java - HashMap 迭代 - 异常

转载 作者:行者123 更新时间:2023-12-02 13:34:05 26 4
gpt4 key购买 nike

我想迭代一个 HashMap,如下所示:

        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
map.replace(entry.getKey(), entry.getValue()-1);
if (entry.getValue() == 0) {
map.remove(entry.getKey(), 0);
}
}

这以异常结束:java.util.ConcurrentModificationException

有什么解决办法吗?

亲切的问候

最佳答案

 Iterator<Map.Entry<Integer, Integer>> entryItr = map.entrySet().iterator();
while (entryItr.hasNext()) {
Map.Entry<Integer, Integer> entry = entryItr.next();
if (entry.getValue() > 1) {
entry.setValue(entry.getValue() - 1);
} else {
entryItr.remove();
}
}

关于Java - HashMap 迭代 - 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43103744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com