1. ホーム
  2. scala

[解決済み] A の値をキーとして Seq[A] を Map[Int, A] に変換する方法は?

2022-02-19 07:46:10

質問内容

を持っています。 Seq のようなクラスのオブジェクトが含まれています。

class A (val key: Int, ...)

では、この SeqMap を使用すると key の値をキーとし、オブジェクトそのものを値とする。つまり

val seq: Seq[A] = ...
val map: Map[Int, A] = ... // How to convert seq to map?

Scala 2.8でこれを効率的かつエレガントに行うにはどうしたらいいでしょうか?

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

をマップオーバーし Seq で、一連のタプルを生成します。 次に、それらのタプルを使って Map . Scalaのすべてのバージョンで動作します。

val map = Map(seq map { a => a.key -> a }: _*)