我知道这是基本的,但我可以用更短的方式做到这一点:
val ss = mutableMapOf<String, MutableList<String>>()
if(ss["new_key"] != null){
ss["new_key"]!!.add("NEW")
}
else{
ss["new_key"] = mutableListOf("OLD")
}
这基本上检查地图中是否存在密钥
如果是,则将元素附加到列表(值),否则创建新的键值对
我不能在旅途中创建新密钥吗?像这样:
ss["new_key"].add("OLD")
ss["new_key"].add("NEW")
您至少有两个选择:
computeIfAbsent
:
ss.computeIfAbsent("new_key") { mutableListOf() } += "NEW"
getOrPut
:
ss.getOrPut("new_key", ::mutableListOf) += "NEW"