// Created on savesnippets.com ยท https://savesnippets.com/VlAd1gdJKNi7jQ data class User(val id: Int, val name: String, val email: String) fun main() { val users = listOf( User(1, "Alice", "a@x.com"), User(2, "Bob", "b@x.com"), User(3, "Cara", "c@x.com"), ) // associateBy โ€” Map: pick the key, value is the item itself val byId: Map = users.associateBy { it.id } println(byId[2]) // User(id=2, name=Bob, ...) // associate โ€” Map: build both from each item val emailByName: Map = users.associate { it.name to it.email } println(emailByName) // associateWith โ€” keys are the items themselves, value is derived val nameLengths: Map = listOf("Alice", "Bob").associateWith { it.length } println(nameLengths) // {Alice=5, Bob=3} }