Wenn ich eine Sammlung c
von Typen habe T
und eine Eigenschaft p
für T
(z P
. B. Typ ) vorhanden ist, wie kann ich einen Map-by-Extracting-Key am besten erstellen ?
val c: Collection[T]
val m: Map[P, T]
Ein Weg ist der folgende:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Aber jetzt brauche ich eine veränderbare Karte. Gibt es eine bessere Möglichkeit, dies so zu tun, dass es in einer Zeile steht und ich eine unveränderliche Karte erhalte ? (Natürlich könnte ich das oben genannte in ein einfaches Bibliotheksdienstprogramm verwandeln, wie ich es in Java tun würde, aber ich vermute, dass es in Scala keine Notwendigkeit gibt)
Traversable[K].mapTo( K => V)
undTraversable[V].mapBy( V => K)
waren besser!