Nếu tôi có một bộ sưu tập c
loại T
và có một thuộc tính p
trên T
(loại P
, giả sử), cách tốt nhất để thực hiện khóa bản đồ là gì?
val c: Collection[T]
val m: Map[P, T]
Một cách là như sau:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
Nhưng bây giờ tôi cần một bản đồ có thể thay đổi . Có cách nào tốt hơn để làm điều này sao cho nó thành 1 dòng và tôi kết thúc với một Bản đồ bất biến ? (Rõ ràng tôi có thể biến phần trên thành một tiện ích thư viện đơn giản, như tôi có trong Java, nhưng tôi nghi ngờ rằng trong Scala không có nhu cầu)
Traversable[K].mapTo( K => V)
vàTraversable[V].mapBy( V => K)
đã tốt hơn!