我知道这是基本的,但我可以用更短的方式做到这一点:
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")
答案 0 :(得分:5)
您至少有两个选项:
使用computeIfAbsent
:
ss.computeIfAbsent("new_key") { mutableListOf() } += "NEW"
使用getOrPut
:
ss.getOrPut("new_key", ::mutableListOf) += "NEW"