如何删除java hashmap中特定对象的所有映射?

时间:2015-05-13 11:49:47

标签: java hashmap

我在java hashmap中有一个多对一映射。我使用java.util.HashMap.values()迭代所有值。现在,如果我想删除特定值和所有相应的键,那么我该怎么办?

只使用其中一个键的java.util.HashMap.remove(Object key)就足够了吗?

1 个答案:

答案 0 :(得分:4)

在此示例中,您可以在不迭代的情况下从地图中删除值。

<强>代码

// The test map
final Map<String, String> map = new HashMap<String, String>();
map.put("Key1", "Value");
map.put("Key2", "Value");
map.put("Key3", "Value");

// Remove the map. The collection is necessary to remove all values instead of just one.
map.values().removeAll(Collections.singleton("Value"));

// Print the map to confirm it worked.
System.out.println("Printing Map");
for(final String key : map.keySet()) {
   System.out.println(key + " = " + map.get(key));
}

<强>输出

Printing Map