Java HashMap如何找到;额外的;然后取下钥匙

Java HashMap如何找到;额外的;然后取下钥匙,java,Java,假设我有一个Hashmap对象myMap,它包含一组键和值 key1, value1 key2, value2 ... ... 假设我总共有30把钥匙 现在我得到了一个键列表:key1,key2….,假设有28个键 检查myMap对象并删除我的关键点列表中不是的关键点的最佳方法是什么?我必须迭代hashmap键集并比较列表中的每个键吗 谢谢。对您拥有的每个密钥使用containsKey方法,如果该方法返回false,请将其删除。另一个选项是使用Map#keySet#retainal从映射中获取

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

key1, value1
key2, value2
...
...
假设我总共有30把钥匙

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

检查myMap对象并删除我的关键点列表中不是的关键点的最佳方法是什么?我必须迭代hashmap键集并比较列表中的每个键吗


谢谢。

对您拥有的每个密钥使用
containsKey
方法,如果该方法返回
false
,请将其删除。另一个选项是使用
Map#keySet#retainal

从映射中获取密钥集。布景以地图为背景。然后打电话给Retainal

Set<String> keys = myMap.keySet();
keys.retainAll(keyList);
Set keys=myMap.keySet();
密钥保留(密钥列表);
下面是有关
键集
方法的详细信息


下面是关于
保留方法的说明。

也许我误解了什么,但会起作用吗?(如果是,请确保在提问之前检查文档:p)我想你的意思是返回false,然后将其删除。@75英寸Pianist facepalm true。更正了。你说的“其他”是什么意思?@eis我没有全神贯注地写下答案,而且编校(比如
entrySet
而不是
keySet
)肯定是缺少的。我改进了它。