在 Kotlin 中,处理条件初始化复杂地图的惯用方式是什么
In Kotlin, what is the idiomatic way to deal conditional way to initialize complex map
最近我发现自己像这样处理 > 的映射:
val bc = mutableMapOf<String, MutableSet<Int>>()
if (bc[question] == null)
bc[question] = mutableSetOf()
bc[question]!!.add(line)
没有更好的方法吗?我试过了
bc[question]?.add(x) ?: = mutableSetOf(x)
但这行不通。我看过这里和 Kotlin null-safety 页面
和其他类似的问题在这里但没有找到任何东西。我对 Kotlin 还是有些陌生。
我用运行函数赋值mutableSetOf
你可以试试
bc[question]?.add(line) ?: run { bc[question] = mutableSetOf(line) }
最近我发现自己像这样处理
val bc = mutableMapOf<String, MutableSet<Int>>()
if (bc[question] == null)
bc[question] = mutableSetOf()
bc[question]!!.add(line)
没有更好的方法吗?我试过了
bc[question]?.add(x) ?: = mutableSetOf(x)
但这行不通。我看过这里和 Kotlin null-safety 页面 和其他类似的问题在这里但没有找到任何东西。我对 Kotlin 还是有些陌生。
我用运行函数赋值mutableSetOf
你可以试试
bc[question]?.add(line) ?: run { bc[question] = mutableSetOf(line) }