2017-02-10 37 views
17

在JavaScript中:{foo: bar, biz: qux}。在Ruby中:{foo => bar, biz => qux}Kotlin有Map語法的語法嗎?

在Java:

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

當然科特林可以比Java做的更好?

回答

24

你可以這樣做:

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

這裏,to是創建Pair中綴函數。

或者,更abstact:使用mapOf()

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

(上kotlinlang找到)

+0

你大概的意思'mutableMapOf()'?在Kotlin運行時沒有'hashMap()' –

+0

@CedricBeust不,我的意思是'hashMap()'(請參閱https://blog.jetbrains.com/kotlin/2012/06/kotlin-m2-is-出/)......但你可以看到:那是2012年;和2017年,'hashMapOf()'是要走的路。 – GhostCat

+0

儘管這與地圖文字非常接近,但我仍然認爲它不一樣:您仍然需要使用函數調用語法,並且在最後一個元素之後不能有額外的逗號。 – yegle