从地图kotlin中删除键



我有一个如下的地图

val parentMap= mutableMapOf<String,String>()
parentMap["key1"]="value1"
parentMap["key2"]="value2"
parentMap["key3"]="value3"

我有一个键列表val keyList= listOf("key1","key3")

我想从地图中删除key,它不存在于我的keylist

我当前使用的解决方案是

val filteredMap= mutableMapOf<String,String>()
keyList.forEach {
if(parentMap.containsKey(it))
filteredMap[it]=parentMap[it]!!
}
println(filteredMap)

还有更好的方法吗?

甚至可以更短一点:

val map = mapOf(
"key1" to "value1",
"key2" to "value2",
"key3" to "value3"
)

val list = listOf("key1")

val filteredMap = map.filterKeys(list::contains)

结果为:{key1=value1}

您可以这样做更简单:

val filteredMap = parentMap.filter { keyList.contains(it.key) }

最新更新