3

假设我有一个 Hashmap 对象 myMap,它包含一组键和值,

key1, value1
key2, value2
...
...

假设我总共有 30 个键。

现在我得到一个键列表:key1, key2....,假设有 28 个。

检查 myMap 对象并删除不在我的键列表中的键的最佳方法是什么?我是否必须遍历 hashmap 键集并比较列表中的每个键集?

谢谢。

4

2 回答 2

6

从地图中获取一组键。该集合由地图支持。然后调用retainAll就可以了。

Set<String> keys = myMap.keySet();
keys.retainAll(keyList);

这是有关该方法的文档。keySet

这是有关该方法的文档。retainAll

于 2013-02-07T20:01:03.527 回答
2

为您拥有的每个键使用该containsKey方法,如果该方法返回false,则将其删除。另一种选择是使用Map#keySet#retainAll.

于 2013-02-07T19:58:48.730 回答