Does Kotlin have a syntax for Map literals?
DictionaryKotlinLiteralsDictionary Problem Overview
In JavaScript: {foo: bar, biz: qux}
.
In Ruby: {foo => bar, biz => qux}
.
In Java:
HashMap<K, V> map = new HashMap<>();
map.put(foo, bar);
map.put(biz, qux);
Surely Kotlin can do better than Java?
Dictionary Solutions
Solution 1 - Dictionary
You can do:
val map = hashMapOf(
"John" to "Doe",
"Jane" to "Smith"
)
Here, to
is an infix function that creates a Pair
.
Or, more abstract: use mapOf()
like
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
( found on kotlinlang )
Solution 2 - Dictionary
There is a proposal to add them to the language:
Kotlin/KEEP: Collection Literals
If this goes through, the syntax might be like:
val map = ["a" : 1, "b" : 2, "c" : 3]