Kotlin 有 Map 文字的语法吗?

在 JavaScript 中: {foo: bar, biz: qux}

字幕: {foo => bar, biz => qux}

在爪哇:

HashMap<K, V> map = new HashMap<>();
map.put(foo, bar);
map.put(biz, qux);

Kotlin 肯定能比 Java 做得更好吧?

21214 次浏览

你可以这样做:

val map = hashMapOf(
"John" to "Doe",
"Jane" to "Smith"
)

在这里,to是一个中缀函数,它创建一个 Pair

或者,更抽象地说: 像下面这样使用 mapOf()

val map = mapOf("a" to 1, "b" to 2, "c" to 3)

(请参阅 Kotlinlang)

有人建议将它们加入到语言中:

Kotlin/KEEP: Collection Literals

如果这样做,语法可能是这样的:

val map = ["a" : 1, "b" : 2, "c" : 3]