从哈希图中删除具有给定值的所有项目
问题内容:
所以我有一个Java哈希图,如下所示:
hMap.put("1", "One");
hMap.put("2", "Two");
hMap.put("3", "Two");
我想删除所有值为“ Two”的项目
如果我做类似的事情:
hmap.values().remove("Two");
只有第一个被删除,我想全部删除,该怎么做?
问题答案:
hmap.values().removeAll(Collections.singleton("Two"));
编辑: 这种简洁方法的(显着)缺点是您基本上被迫发表评论,说出类似
// remove("Two") would only remove the first one
否则,一些好心的工程师将有一天会尝试为您简化并破坏它。发生这种情况…有时候好心做的事甚至是Future You!