[Kotlin]reduce()でMap(マップ)の値の合計値を取得するには?

Kotlin

どうも、ちょげ(@chogetarou)です。

reduce()を使ってMap(マップ)の全ての値(value)の合計値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

reduce()を使ってMap(マップ)の全ての値(value)の合計値を取得するには、valuesを使います。

まず、map.valuesのように、Mapのvaluesプロパティにアクセスします。

valuesプロパティからreduce{}を呼び出します。

そして、reduce{}のクロージャーに2つの引数の足し算を指定します。

val result = map.values.reduce { x,y -> x + y  }

上記のreduce()は、 valuesプロパティのアクセス元のMapの値の合計を返します。

使用例

fun main() {
    val numbers = mapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3,
        "four" to 4,
        "five" to 5
    )
    
    val result = numbers.values.reduce { x,y -> x + y  }
    
    println(result)
}
出力:
15

コメント

タイトルとURLをコピーしました