1. ホーム
  2. dictionary

[解決済み】KotlinでListをMapに変換する方法は?

2022-04-08 14:53:51

質問

例えば、次のような文字列のリストがあります。

val list = listOf("a", "b", "c", "d")

で、それを文字列をキーとするマップに変換したいのです。

を使うべきなのは分かっているのですが .toMap() しかし、その方法がわからないし、その例も見たことがない。

どのように解決するのですか?

選択肢は2つあります。

最初の、そして最もパフォーマンスの高い方法は associateBy この関数は、キーと値を生成するために2つのラムダを受け取り、マップの作成をインライン化します。

val map = friends.associateBy({it.facebookId}, {it.points})

2つ目は、パフォーマンスが劣るが、標準の map のリストを作成するための関数です。 Pair で使用することができます。 toMap を使用して、最終的なマップを生成します。

val map = friends.map { it.facebookId to it.points }.toMap()