2013-02-16 65 views
0

我有HashMap HashMap<Integer, List<String>> storeR它存儲"22,name1,name2" ..但有沒有什麼辦法可以從22中刪除name1?我只想從22中刪除名字1.我該怎麼做。我希望你能幫助我。謝謝。從HashMap中刪除數據java

+5

你嘗試過什麼?你有沒有試過查看'HashMap'和'List'的文檔? – 2013-02-16 15:53:19

回答

4

獲取列表您的地圖,並刪除您希望有刪除的元素:

storeR.get(22).remove("name1"); 

如果在地圖上沒有鑰匙22,或者它的值是null這將拋出一個NullPointerException,雖然。

+0

@ jlordo ..謝謝你.. :) – user2064467 2013-02-16 16:42:25

3

鑑於您對此問題所提出的問題,您最好使用第三方庫:Guava具有各種實現的Multimap接口 - 您可能需要ArrayListMultimap

然後你可以這樣寫:

multimap.remove(22, "name1"); 

如果你真的想保留手工做所有的工作你自己,你可以叫get在地圖上返回列表,然後remove名單刪除該值。但是,你應該考慮是否要拔出鑰匙完全如果您已刪除的最後一個值 - 當然,如果你不知道鍵是否已經存在於地圖上,你只需要有條件通話remove ...番石榴