Se eu tiver uma coleção c
de tipos T
e houver uma propriedade p
em T
(do tipo P
, digamos), qual é a melhor maneira de fazer uma chave de mapeamento por extração ?
val c: Collection[T]
val m: Map[P, T]
Uma maneira é a seguinte:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Mas agora eu preciso de um mapa mutável . Existe uma maneira melhor de fazer isso para que fique em uma linha e acabe com um mapa imutável ? (Obviamente, eu poderia transformar o anterior em um utilitário de biblioteca simples, como faria em Java, mas suspeito que no Scala não há necessidade)
Traversable[K].mapTo( K => V)
eTraversable[V].mapBy( V => K)
foram melhores!