Si j'ai une collection c
de type T
et qu'il y a une propriété p
sur T
(de type P
, par exemple), quelle est la meilleure façon de faire une carte par clé d'extraction ?
val c: Collection[T]
val m: Map[P, T]
Une façon est la suivante:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Mais maintenant, j'ai besoin d'une carte mutable . Y a-t-il une meilleure façon de faire cela pour que ce soit sur 1 ligne et que je me retrouve avec une carte immuable ? (Évidemment, je pourrais transformer ce qui précède en un simple utilitaire de bibliothèque, comme je le ferais en Java, mais je soupçonne que dans Scala, ce n'est pas nécessaire)
Traversable[K].mapTo( K => V)
etTraversable[V].mapBy( V => K)
c'était mieux!