我有以下HashMap:

val myHashMap: HashMap<key, ValueClass>

哪里:
data class ValueClass(
    var a: Long = 0,
    var b: Long = 0
)

我想按如下方式使用myHashMap:如果myHashMap不包含键x,则创建一个新的ValueClass并将其插入myHashMap中,然后myHashMap [x] .a = newValue

这样做最干净的方法是什么?
在Java中,我将拥有:
    if(!myHashMap.containsKey("x"))
    {
        map.put("x",new ValueClass());
    }
    map.get("x").a=newValue;

最佳答案

使用MutableMap#getOrPut

myMap.getOrPut("key") { "default_value" }

07-27 18:51