gpt4 book ai didi

scala - 将对象添加到以这些对象的成员为键的 map

转载 作者:行者123 更新时间:2023-12-04 05:32:39 27 4
gpt4 key购买 nike

我试图找到一种(功能性)方法将对象集合添加到以这些对象的成员为键的映射中。

假设我有以下对象(它们都是同一类 O 的实例):

o1(a = 1, b = x)
o2(a = 1, b = y)
o3(a = 2, b = z)

我想生成一个 Map锁定成员(member) a包含以下元组:
(1, List(o1, o2))
(2, List(o3))

现在我显然可以迭代地进行,遍历初始列表中的每个对象并在进行时添加它们。但我觉得我缺少一种轻松做到这一点的功能性方法。我一直在努力使用 map 、平面 map 和过滤器来尝试实现这一目标,但目前还没有结果。

最佳答案

groupBy是你想要的:

scala> val os = List(O(1,2), O(1,3), O(2,4))
os: List[O] = List(O(1,2), O(1,3), O(2,4))

scala> os.groupBy(_.a)
res3: scala.collection.immutable.Map[Int,List[O]] = Map(1 -> List(O(1,2), O(1,3)), 2 -> List(O(2,4)))

关于scala - 将对象添加到以这些对象的成员为键的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386301/

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