如果地圖如下所示Java中,更新地圖
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);
}
但是定義爲
private Map<Integer, Integer> map = new HashMap<Integer, Integer>();
更新細密鑰的作品,我不知道,可以在同一而不必刪除該元素來完成從地圖上? (map.remove(fileHashCode);
)
++(map.get(fileHashCode));
看起來不錯,但Java不喜歡它
++(map.get(fileHashCode))並不意味着什麼.... map.get是不一樣的map.set O__O –
在我的地圖,它返回一個整數,它可以是++ (ed) – JAM
,然後它不會被存儲在任何地方......它返回一個整數的副本,你對它做的任何事情都不會改變底層映射 –