Kotlinでは、リストを特定の条件で分類したいときに groupBy
関数が便利です。この関数を使うことで、データをカテゴリごとにまとめた Map
を簡単に作成できます。
groupByの使い方
例えば、年齢ごとに名前を分類する場合、以下のように記述できます。
Kotlin
data class Person(val name: String, val age: Int)
val people = listOf(
Person("田中", 25),
Person("佐藤", 30),
Person("鈴木", 25),
Person("高橋", 30),
Person("伊藤", 40)
)
val groupedByAge = people.groupBy { it.age }
println(groupedByAge)
出力結果
{
25=[Person(name=田中, age=25), Person(name=鈴木, age=25)],
30=[Person(name=佐藤, age=30), Person(name=高橋, age=30)],
40=[Person(name=伊藤, age=40)]
}
groupByのポイント
- リストをキーごとに分類 できる
- データ集計やフィルタリング に便利
- カテゴリごとに処理を分けたい場合 に最適
通常、データの分類にはループを使いがちですが、groupBy
を活用することでコードをスッキリと書けます。データ分析やカテゴリ分けをする場面でぜひ試してみてください!