2017-02-10 11 views
17

JavaScript:{foo: bar, biz: qux}Kotlinにはマップリテラルの構文がありますか?

ルビーで:{foo => bar, biz => qux}。 Javaでは

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

きっとKotlinは、Javaよりも良いを行うことができますか?あなたが行うことができます

答えて

24

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

を、toPairを作成中置関数です。

それとも、もっとabstact:(kotlinlangにあります)

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

+0

ようmapOf()の使用はおそらく 'mutableMapOfを()'意味ですか? Kotlinランタイムに 'hashMap()'はありません –

+0

@CedricBeustいいえ、私は実際には 'hashMap()'を意味しました(https://blog.jetbrains.com/kotlin/2012/06/kotlin-m2-is-あなたは見ることができます:それは2012年でした。と2017、 'hashMapOf()'は行く方法です。 – GhostCat

+0

これはマップリテラルに非常に近いですが、私はまだ同じではないと主張しています。関数呼び出し構文を使用する必要があり、最後の要素の後にカンマを追加することはできません。 – yegle

関連する問題