我有一個包含多個鍵值列表的類。每個鍵(在一個列表中)應該是唯一的,所以我使用HashMap。當代碼中的某處添加一個新項目時,我使用HashMap的put(K, V)
。如果嘗試添加已有鍵的項目,我希望我的代碼拋出異常。而且,因爲這樣的添加是在程序中的許多地方執行的,所以我想避免在每個地方添加檢查。所以它應該是列表類本身,不允許替換現有的鍵值對。帶唯一性檢查的HashMap
我想到用我自己的擴展HashMap類,它會執行這樣的檢查並拋出異常。但是,HashMap的put
不會拋出異常,所以我也做不到。
什麼是實現此類行爲的好方法?我準備好用更好的東西替換HashMap,但我需要它在添加和檢索項目中都很快。
更新: 感謝所有的許多不錯的建議。因爲我是一個Java的新手,所以我現在需要學習很多東西才能選擇最好的一個:)無論如何,我非常感謝在午餐時間內獲得如此多的選擇!
Commons Collections沒有得到應有的曝光... – Isaac