Якщо у мене є колекція c
типу T
і є властивість p
на T
(типу P
, скажімо), що це кращий спосіб , щоб зробити карту-на-екстрагента-ключ ?
val c: Collection[T]
val m: Map[P, T]
Один із способів:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Але зараз мені потрібна змінна карта. Чи є кращий спосіб зробити це, щоб воно було в одному рядку, і я закінчував незмінну карту? (Очевидно, я міг би перетворити вищезазначене на просту утиліту бібліотеки, як у Java, але я підозрюю, що в Scala немає потреби)
Traversable[K].mapTo( K => V)
іTraversable[V].mapBy( V => K)
були кращими!