kotlin Listの要素をグループ化してカウントする

kotlin Listの要素をグループ化してカウントする

kotlinで、Listの要素をグループ化してカウントする手順を記述してます。「groupingBy」を使用します。

環境

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

手順

Listの要素をグループ化してカウントするには、「groupingBy」で可能です。

List名.groupingBy({ 条件 }.eachCount())

実際に、使用して文字数でグループ化して結果をカウントしてみます。

fun main() {

    val list = listOf("java","js","html","php","vba")

    println(list.groupingBy { it.length }.eachCount())
    // {4=2, 2=1, 3=2}   

    println(list) // [java, js, html, php, vba]

}

カウントされていることが確認できます。

mutableList

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

fun main() {

    val list = mutableListOf(10,10,10,20,20,30)

    println(list.groupingBy { it }.eachCount())
    // {10=3, 20=2, 30=1}  

    println(list) // [10, 10, 10, 20, 20, 30]

}