如果地图被定义为
private Map<Integer, Integer> map = new HashMap<Integer, Integer>();
更新密钥工作正常,如下所示
public void increaseCountInFile(Integer hashCode) {
if (mapContains(hashCode)) {
increaseCount(hashCode);
} else {
map.put(hashCode, 1);
}
}
private void increaseCount(Integer fileHashCode) {
Integer key = map.get(fileHashCode);
map.remove(fileHashCode);
map.put(fileHashCode, ++key);
}
private boolean mapContains(Integer fileHashCode) {
return map.containsKey(fileHashCode);
}
但是,我想知道,是否可以在不必从地图中删除元素的情况下做同样的事情?( map.remove(fileHashCode);
)
++(map.get(fileHashCode));
看起来不错,但 Java 不喜欢它