Если у меня есть коллекция 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 нет необходимости)
Traversable[K].mapTo( K => V)
иTraversable[V].mapBy( V => K)
были лучше!