gpt4 book ai didi

Scala 将集合转变为按键映射的最佳方法?

转载 作者:行者123 更新时间:2023-12-02 18:58:24 25 4
gpt4 key购买 nike

如果我有一个 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) }

但现在我需要一个可变 map 。有没有更好的方法来做到这一点,以便它在 1 行中,并且我最终得到一个不可变 map ? (显然我可以将上面的内容变成一个简单的库实用程序,就像在 Java 中一样,但我怀疑在 Scala 中没有必要)

最佳答案

你可以使用

c map (t => t.getP -> t) toMap

但请注意,这需要 2 次遍历。

关于Scala 将集合转变为按键映射的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/674639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com