我正在使用处理,并且我有一个 HashMap,我希望能够将其中的所有值加 1。 代码如下所示:
HashMap<Character, Integer> keyStates = new HashMap<Character, Integer>();
void press(Character k) {
keyStates.put(k, 1);
}
void release(Character k) {
keyStates.put(k, 0);
}
整数告诉我按下某个键的时间。因此,我想将此 HashMap 的所有值增加 1,无论键、每个“刻度”或帧如何。有没有办法增加 HashMap 的所有整数值,或者如果没有,可以采用另一种方法来解决此问题。非常感谢您的帮助。另外,这是我的第一篇文章,所以请告诉我我做得是否正确。
最佳答案
最好的方法是使用迭代器:
Iterator<Map.Entry <Character, Integer> > it = keyStates.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Character, Integer> pair = it.next();
Integer newCount = (pair.getValue() == null) ? 1 : pair.getValue() + 1 ;
pair.setValue(newCount);
}
关于java - 如何更新 HashMap 中的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552953/