通过传递一个键列表 - Java API方法或实用程序来从HashMap中删除键?

时间:2015-01-14 21:06:21

标签: java collections hashmap

我有Map<String, String> issueMap个n值

和具有m个值的ArrayList<String>,使得m是n

的子集

我想从issueMap中删除所有这些m键是否有针对此

的直接API调用

由于

1 个答案:

答案 0 :(得分:14)

您可以从keySet

中删除密钥
issueMap.keySet().removeAll(listOfKeysToRemove);

keySet会返回Set中包含的Map个密钥,该密钥由Map支持。因此,对Map的更改会反映在Set中,反之亦然。

Javadoc

  

设置keySet()

     

返回此地图中包含的键的Set视图。该集由地图支持,因此对地图的更改将反映在集中,反之亦然。如果在对集合进行迭代时修改了映射(除了通过迭代器自己的删除操作),迭代的结果是未定义的。 该集支持元素删除,它通过Iterator.remove,Set.remove,removeAll,retainAll和clear operations 从地图中删除相应的映射。它不支持add或addAll操作。

返回:     此地图中包含的键的设置视图