2013-02-16 71 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 ...番石榴