从地图 kotlin 中删除键
Remove key from map kotlin
我有一张地图如下
val parentMap= mutableMapOf<String,String>()
parentMap["key1"]="value1"
parentMap["key2"]="value2"
parentMap["key3"]="value3"
我有一个键列表val keyList= listOf("key1","key3")
我想从我的 keylist
中不存在的地图中删除 key
我目前使用的方案是
val filteredMap= mutableMapOf<String,String>()
keyList.forEach {
if(parentMap.containsKey(it))
filteredMap[it]=parentMap[it]!!
}
println(filteredMap)
还有更好的方法吗?
你可以这样做更容易:
val filteredMap = parentMap.filter { keyList.contains(it.key) }
这个可以再短一点:
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 parentMap= mutableMapOf<String,String>()
parentMap["key1"]="value1"
parentMap["key2"]="value2"
parentMap["key3"]="value3"
我有一个键列表val keyList= listOf("key1","key3")
我想从我的 keylist
key
我目前使用的方案是
val filteredMap= mutableMapOf<String,String>()
keyList.forEach {
if(parentMap.containsKey(it))
filteredMap[it]=parentMap[it]!!
}
println(filteredMap)
还有更好的方法吗?
你可以这样做更容易:
val filteredMap = parentMap.filter { keyList.contains(it.key) }
这个可以再短一点:
val map = mapOf(
"key1" to "value1",
"key2" to "value2",
"key3" to "value3"
)
val list = listOf("key1")
val filteredMap = map.filterKeys(list::contains)
结果是:{key1=value1}