KotlinでMapを生成する方法について記載します。
目次
Mapを生成する方法
KotlinのMapには、生成後に値が変更できない Map と、生成後も値が変更できる Map があります。
Map のキーは一意なので、同じキーを登録した場合、後で登録したキーの値で上書きされます。
1. Mapの生成方法( 変更不可 )
mapOf を使用して生成します。
書式
mapOf( key to value, ・・・ )
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// mapを生成 val mapStr1 = mapOf( "key1" to "value1", "key2" to "value2", "key3" to "value3" ) println( mapStr1 ) // {key1=value1, key2=value2, key3=value3} // mapを生成(ジェネリクスを指定) val mapStr2 = mapOf<String,String>( "key1" to "value1", "key2" to "value2", "key3" to "value3" ) println( mapStr2 ) // {key1=value1, key2=value2, key3=value3} // キーの大文字・小文字は区別される val mapStr3 = mapOf( "key1" to "value1", "KEY1" to "value2" ) println( mapStr3 ) // {key1=value1, KEY1=value2} // 同じキーの場合、後に追加した値に上書きされる val mapStr4 = mapOf( "key1" to "value1", "key2" to "value2", "key1" to "override value1" ) println( mapStr4 ) // {key1=override value1, key2=value2} // 数値型も可能 val mapIntStr = mapOf<Int,String>( 1 to "value1", 2 to "value2", 3 to "value3" ) println( mapIntStr ) // {1=value1, 2=value2, 3=value3} |
2. Mapの生成方法( 変更可能 )
mutableMapOf を使用して生成します。
書式
mutableMapOf( key to value, ・・・ )
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// mapを生成 val mapStr1 = mutableMapOf( "key1" to "value1", "key2" to "value2", "key3" to "value3" ) println( mapStr1 ) // {key1=value1, key2=value2, key3=value3} // mapに値を追加、同じキーの場合は値が上書きされる val mapStr2 = mutableMapOf( "key1" to "value1", "key2" to "value2", "key3" to "value3" ) mapStr2["key4"] = "value4" // 追加 mapStr2 += "key5" to "value5" // 追加 mapStr2["key1"] = "override value1" // 上書き println( mapStr2 ) // {key1=override value1, key2=value2, key3=value3, key4=value4, key5=value5} |