Si tengo una colección c
de tipos T
y hay una propiedad p
en T
(de tipo P
, por ejemplo), ¿cuál es la mejor manera de hacer una clave de mapa por extracción ?
val c: Collection[T]
val m: Map[P, T]
Una forma es la siguiente:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Pero ahora necesito un mapa mutable . ¿Hay una mejor manera de hacer esto para que esté en 1 línea y termine con un Mapa inmutable ? (Obviamente, podría convertir lo anterior en una simple utilidad de biblioteca, como lo haría en Java, pero sospecho que en Scala no hay necesidad)
Traversable[K].mapTo( K => V)
yTraversable[V].mapBy( V => K)
fueron mejores!