我有一張地圖如下
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)
有沒有更好的方法來做到這一點?
uj5u.com熱心網友回復:
這甚至可以更短地實作:
val map = mapOf(
"key1" to "value1",
"key2" to "value2",
"key3" to "value3"
)
val list = listOf("key1")
val filteredMap = map.filterKeys(list::contains)
結果是:{key1=value1}
uj5u.com熱心網友回復:
你可以像這樣更容易地做到這一點:
val filteredMap = parentMap.filter { keyList.contains(it.key) }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469280.html
上一篇:python字典最佳實踐
下一篇:從對生成嵌套字典
