Kotlinでは、リストのデータをキー付きで管理したいときに associateBy
関数が便利です。これを使うことで、リストの要素を特定のキーに基づいて Map
に変換できます。
associateByの使い方
例えば、ユーザーリストをIDごとに整理する場合、以下のように記述できます。
Kotlin
data class User(val id: Int, val name: String)
val users = listOf(
User(1, "田中"),
User(2, "佐藤"),
User(3, "鈴木")
)
val userMap = users.associateBy { it.id }
println(userMap)
出力結果
{
1=User(id=1, name=田中),
2=User(id=2, name=佐藤),
3=User(id=3, name=鈴木)
}
associateByのポイント
- リストを一瞬でキー付きデータに変換できる
- 検索が効率的になる(キーを使って素早くアクセス可能)
- データの管理や参照を簡単にする
通常、リストから特定の要素を探すには find
などを使う必要がありますが、associateBy
で Map
に変換すると、キーを使って直接アクセスできるので効率的です。データを整理・最適化したいときに活用してみてください!