Kotlin groupingByって便利だね 2
問題: 生徒オブジェクトのリストがあり、性別ごとの所持金額を集計する
data class Student( val name: String, val gender: Gender, val wallet: Int ) enum class Gender { MALE, FEMALE } val students = listOf( Student("foo", MALE, 1000), Student("bar", MALE, 100), Student("fizz", FEMALE, 200), Student("buzz", FEMALE, 300) )
解答
val map = students.groupingBy { it.gender }.fold(0) { price, student -> price + student.wallet } println(map) // -> {MALE=1100, FEMALE=500}
foldの使い方をよく忘れるのでメモ