如果我有一个类型为 T
的集合 c
,并且在 T
(类型为 P
)上有一个属性 p
,那么做 通过提取映射的密钥的最佳方法是什么?
val c: Collection[T]
val m: Map[P, T]
一种方法是这样的:
m = new HashMap[P, T]
c foreach { t => m add (t.getP, t) }
但现在我需要一张 易变的地图。有没有更好的方法来做到这一点,使它在1行,我最终与 永恒不变映射?(显然,我可以像在 Java 中那样将上面的代码转换成一个简单的库实用程序,但我怀疑在 Scala 中没有这个必要)