Kotlin groupingByって便利だね
問題: 生徒オブジェクトのリストがあり、クラスごとの人数を集計する
data class Student( val classNumber: String, val name: String ) val students = listOf( Student("1-1", "foo"), Student("1-1", "bar"), Student("1-1", "fizz"), Student("1-2", "buzz"), Student("1-2", "fuga"), Student("1-3", "hoge") )
解答: groupingByを使う
val count = students.groupingBy { it.classNumber }.eachCount() println(count) // => {1-1=3, 1-2=2, 1-3=1}
年に2回くらい使いたくなるが、そのたびに忘れるのでメモ。