Pair のリストを Map に変換する

associate メソッドを利用すれば簡潔に書ける。

associate メソッドは「Pairを返す無名関数」を引数にとって、Mapを返す関数。

val pairs = listOf("a" to 1, "b" to 2)
val map = pairs.associate { it }
println(map) // => {a=1, b=2}

オブジェクトのリストを Map に変換する

Pairを返す無名関数を渡せばいいので、任意のオブジェクトに対しては以下のようにすればよい。

class A(val x: String, val y: Int)

val list = listOf(A("a", 1), A("b", 2))
val map = list.associate { Pair(it.x, it.y) }
println(map) // => {a=1, b=2}