kotlin mutableMapの値を追加する

kotlin mutableMapの値を追加する

kotlinで、mutableMapの値を追加する手順を記述してます。「[]」にキー名を指定する方法や「put」を使用する方法があります。

環境

  • OS windows11 home
  • java 19.0.1
  • kotlin 1.7.20-release-201

手順

mutableMapの値を追加するには、以下の構文で可能です。

map名[key] = 値

or

map名.put = ( key , 値 )

実際に、追加してみます。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    m['d'] = 4

    m.put( 'e', 5 )

    println(m) // {a=1, b=2, c=3}

}

追加されていることが確認できます。

演算子で追加することも可能です。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    m += 'd' to 4

    println(m) // {a=1, b=2, c=3, d=4}

}

異なる型を指定

異なる型を指定した場合は、エラーとなります。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    m += 'd' to "aaa"

    println(m) 
    // error: type mismatch: inferred type is Map<Char, 
    //{Comparable<*> & java.io.Serializable}> but MutableMap<Char, Int> was expected

}

複数追加

複数の値を追加する場合は、同じmapを演算子で追加することで可能です。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    m += mutableMapOf('d' to 1, 'e' to 2, 'f' to 3)

    println(m) 
    // {a=1, b=2, c=3, d=1, e=2, f=3}

}

同じkeyを指定すると、変更されます。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    m += mutableMapOf('d' to 1, 'e' to 2, 'f' to 3)

    println(m) 
    // {a=1, b=2, c=3, d=1, e=2, f=3}

    m += mutableMapOf('d' to 4, 'e' to 5, 'f' to 6)

    println(m)
    // {a=1, b=2, c=3, d=4, e=5, f=6}

}

keyが存在している場合

keyが存在している場合は、変更となります。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    m['b'] = 5

    m.put( 'c', 6 )

    println(m) // {a=1, b=5, c=6}

}