c
型のコレクションがあり、 (型の)にT
プロパティがある場合、p
T
P
キー抽出によるマップ?
val c: Collection[T]
val m: Map[P, T]
一つの方法は次のとおりです。
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
しかし、今は可変マップ。これを1行で表すより良い方法はあるでしょうか?不変マップ?(もちろん、Java の場合と同じように、上記を単純なライブラリ ユーティリティに変換することもできますが、Scala ではその必要はないと思います)
ベストアンサー1
使用できます
c map (t => t.getP -> t) toMap
ただし、これには 2 回の走査が必要であることに注意してください。