kotlin 階層のあるListを要素を変更してフラットな状態にする

kotlin 階層のあるListを要素を変更してフラットな状態にする

kotlinで、階層のあるListを要素を変更してフラットな状態にする手順を記述してます。

環境

  • OS windows11 home
  • java 17.0.2
  • kotlin 1.6.10-release-923

手順

階層のあるListを要素を変更してフラットな状態にするには、「flatMap」で可能です。

List名.flatMap { it.map { ラムダ式 } }

実際に、使用してみます。

fun main() {

    val list = listOf(listOf(10, 20, 30), listOf(40, 50, 60))

    println(list.flatMap { it.map { v -> v + 5 } }) // [15, 25, 35, 45, 55, 65]

    println(list) // [[10, 20, 30], [40, 50, 60]]

}

全ての値が「プラス5」されて、フラットな状態に変更されていることが確認できます。

mutableList

「mutableList」にも使用可能です。

fun main() {

    val list = mutableListOf(mutableListOf(10, 20, 30), mutableListOf(40, 50, 60))

    println(list.flatMap { it.map { v -> v + 5 } }) // [15, 25, 35, 45, 55, 65]

    println(list) // [[10, 20, 30], [40, 50, 60]]

}