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

SHi*_*nny 3 java collections hashmap

我有一个Map<String, String> issueMapn值

ArrayList<String>m的值,使得m是n的子集

我想从issueMap中删除所有这些m键是否有直接的API调用

谢谢

Era*_*ran 14

您可以从以下位置删除密钥keySet:

issueMap.keySet().removeAll(listOfKeysToRemove);
Run Code Online (Sandbox Code Playgroud)

keySet返回Set包含在中的键Map,其中包含的键Map.因此,对其的改变Map反映在Set反之亦然.

Javadoc:

设置keySet()

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

返回:此映射中包含的键的set视图