Jeśli mam kolekcję c
typu T
i nie ma właściwość p
na T
(typu P
, powiedzmy), co jest najlepszym sposobem, aby zrobić MAP-by-wydobycia kluczu ?
val c: Collection[T]
val m: Map[P, T]
Jeden sposób jest następujący:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Ale teraz potrzebuję mutowalnej mapy. Czy jest lepszy sposób na zrobienie tego, aby było to w jednej linii, a ja otrzymałem niezmienną mapę? (Oczywiście mógłbym zamienić powyższe w proste narzędzie biblioteczne, tak jak zrobiłbym to w Javie, ale podejrzewam, że w Scali nie ma takiej potrzeby)
Traversable[K].mapTo( K => V)
iTraversable[V].mapBy( V => K)
były lepsze!