kotlin Listの要素を指定した条件により分ける

kotlin Listの要素を指定した条件により分ける

kotlinで、Listの要素を指定した条件により分ける手順を記述してます。「partition」を使用します。kotlinは1.7を使用しています。

環境

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

手順

kotlinListの要素を指定した条件により分けるには、「partition」で可能です。

List名.partition{ 条件 }

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

fun main() {

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

    println(list.partition { it % 20 == 0 })
    // ([20, 40, 60], [10, 30, 50])

    println(list2.partition { it.length == 4 })
    // ([java, html, java], [kotlin, php])

    println(list2.partition { it.length == 10 })
    // ([], [kotlin, java, html, php, java])

}

分けられていることが確認できます。条件を満たすものがなければ「空」と「その他」に分けられます。

mutableList

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

fun main() {

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

    println(list.partition { it % 20 == 0 })
    // ([20, 40, 60], [10, 30, 50])

    println(list2.partition { it.length == 4 })
    // ([java, html, java], [kotlin, php])

    println(list2.partition { it.length == 10 })
    // ([], [kotlin, java, html, php, java])

}