在Java中遍历HashMap值时如何替换它们

我正在使用Runnable每秒自动从玩家的冷却时间中减去20,但是我不知道如何在迭代过程中替换值。如何更新每个键的值?

public class CoolDownTimer implements Runnable {

@Override

public void run() {

for (Long l : playerCooldowns.values()) {

l = l - 20;

playerCooldowns.put(Key???, l);

}

}

}

回答:

map.replaceAll((k, v) -> v - 20);


您可以迭代条目并更新值,如下所示:

for (Map.Entry<Key, Long> entry : playerCooldowns.entrySet()) {

entry.setValue(entry.getValue() - 20);

}

以上是 在Java中遍历HashMap值时如何替换它们 的全部内容, 来源链接: utcz.com/qa/415320.html

回到顶部