kotlin mapでListの全て要素に対してインデックス番号も使用して処理を行う

kotlin mapでListの全て要素に対してインデックス番号も使用して処理を行う

kotlinで、mapでListの全て要素に対してインデックス番号も使用して処理を行う手順を記述してます。「mapIndexed」で可能です。

環境

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

手順

kotlinmapでListの全て要素に対してインデックス番号も使用して処理を行うには、「mapIndexed」で可能です。

List名.mapIndexed { インデックス,要素 -> 処理 }

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

fun main() {

    val list = listOf("kotlin","java","html","php","java")
    val list2 = listOf(10, 20, 30, 40, 50, 60)

    println(list.mapIndexed { i,v -> "${i}:${v.uppercase()}" })
    // [0:KOTLIN, 1:JAVA, 2:HTML, 3:PHP, 4:JAVA]

    println(list2.mapIndexed { i,v -> i + v })
    // [10, 21, 32, 43, 54, 65]

}

全ての要素にインデックス番号と一緒に処理が行われていることが確認できます。

空のListの場合は何も処理されません。

fun main() {

    val list = listOf<Int>()         

    println(list.mapIndexed { i,v -> i + v })
    // []

}

mutableList

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

fun main() {

    val list = mutableListOf("kotlin","java","html","php","java")
    val list2 = mutableListOf(10, 20, 30, 40, 50, 60)

    println(list.mapIndexed { i,v -> "${i}:${v.uppercase()}" })
    // [0:KOTLIN, 1:JAVA, 2:HTML, 3:PHP, 4:JAVA]

    println(list2.mapIndexed { i,v -> i * v })
    // [0, 20, 60, 120, 200, 300]

}