gpt4 book ai didi

java - 在迭代期间更改 HashMap 键/值是否安全?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:31 25 4
gpt4 key购买 nike

我有一个 HashMap。我像这样遍历 map :

Map<Long, Integer> map = new HashMap<Long, Integer>();
for (Long key : map.keySet() ) {
int value = map.get(key);
value--;
map.put(key, value);
}

我用来更新 map 的方式安全吗?从某种意义上说是安全的,因为它不会因为迭代而损坏 map 。

最佳答案

您可以考虑更高效地编写代码:

Map<Long, Integer> map = new HashMap<Long, Integer>();
for (Entry<Long, Integer> entry : map.entrySet() ) {
entry.setValue(entry.getValue() - 1);
}

这是一个微优化,但有时它很重要,而且您不会丢失任何东西。它更短并且消除了关于安全启动的任何歧义!

关于java - 在迭代期间更改 HashMap 键/值是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17687536/

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