我面臨的問題似乎沒有直截了當的解決方案。更新java映射條目
我正在使用java.util.Map
,我想更新鍵值對中的值。
現在,我正在做這個LIK:
private Map<String,int> table = new HashMap<String,int>();
public void update(String key, int val) {
if(!table.containsKey(key)) return;
Entry<String,int> entry;
for(entry : table.entrySet()) {
if(entry.getKey().equals(key)) {
entry.setValue(val);
break;
}
}
}
那麼,有沒有方法讓我可以得到所需要的Entry
對象,而不必通過整個Map
迭代?或者有什麼方法可以更新條目的值? Map
中的一些方法,如setValue(String key, int val)
?
JRH
PS:其table.entrySet()。我在這裏輸入了錯誤信息。 – jrharshath 2009-06-30 07:11:21
您可以刪除第一個「if」語句。如果密鑰不存在,它仍會導致完整的迭代。如果你刪除它,你仍然會遍歷整個地圖,並且如果密鑰不存在則不執行任何操作。現在,如果鍵存在,則遍歷地圖,發現它存在,然後再次遍歷條目。 – 2015-07-23 23:48:04