当键存储在scala列表中时如何从地图中删除键值
How to remove key value from map when keys are store in list in scala
我有以下键和映射列表:
val keys = List("key1", "key2", "key5")
Map("key1" -> 1, "key2" -> 2, "key3" ->3, "key4" -> 4, "key5" -> 5)
我想删除键列表中的所有键。
我知道我可以遍历键列表并检查映射是否包含键,如果包含我可以删除它。
有没有更简单的方法在不迭代键列表的情况下执行此操作,其中我只提供键列表并且列表中显示的所有键都从映射中过滤掉?
谢谢
将键列表转换为 Set
,然后使用 filterKeys
到 select 所有不在该集合中的键:
val kSet = keys.toSet
map.filterKeys(!kSet.contains(_))
你可以使用--方法
val keys = List("key1", "key2", "key5")
val map = Map("key1" -> 1, "key2" -> 2, "key3" ->3, "key4" -> 4, "key5" -> 5)
map -- keys
我有以下键和映射列表:
val keys = List("key1", "key2", "key5")
Map("key1" -> 1, "key2" -> 2, "key3" ->3, "key4" -> 4, "key5" -> 5)
我想删除键列表中的所有键。
我知道我可以遍历键列表并检查映射是否包含键,如果包含我可以删除它。
有没有更简单的方法在不迭代键列表的情况下执行此操作,其中我只提供键列表并且列表中显示的所有键都从映射中过滤掉?
谢谢
将键列表转换为 Set
,然后使用 filterKeys
到 select 所有不在该集合中的键:
val kSet = keys.toSet
map.filterKeys(!kSet.contains(_))
你可以使用--方法
val keys = List("key1", "key2", "key5")
val map = Map("key1" -> 1, "key2" -> 2, "key3" ->3, "key4" -> 4, "key5" -> 5)
map -- keys