假设我有一个Hashmap对象myMap,它包含一组键和值,
key1, value1
key2, value2
...
...
假设我总共有30把钥匙。
现在我得到一个按键列表:key1, key2....,
说有28个。
检查myMap对象并删除密钥列表中 NOT 的密钥的最佳方法是什么?我是否必须通过hashmap键集进行迭代并比较列表中的每一个?
感谢。
答案 0 :(得分:6)
从地图中获取一组键。该集由地图支持。然后在上面调用retainAll。
Set<String> keys = myMap.keySet();
keys.retainAll(keyList);
以下是keySet
方法的documentation。
以下是retainAll
方法的documentation。
答案 1 :(得分:2)
对每个键使用containsKey
方法,如果方法返回false
,则将其删除。另一种选择是使用Map#keySet#retainAll
。