0
我有一个对象,A包含另一个对象,B包含两个字符串,stringOne和stringTwo。斯卡拉 - 基于列表成员变量值将列表转换为HashMap
考虑到我有A的列表/序列,
是否有可能建立从A的列表中选择一个地图,这导致A型的一个HashMap - >序列[B],其中发生的事情进入Seq [B]是具有相同的B.stringOne和B.stringTwo的B项目?
A和B是案例类。
我有一个对象,A包含另一个对象,B包含两个字符串,stringOne和stringTwo。斯卡拉 - 基于列表成员变量值将列表转换为HashMap
考虑到我有A的列表/序列,
是否有可能建立从A的列表中选择一个地图,这导致A型的一个HashMap - >序列[B],其中发生的事情进入Seq [B]是具有相同的B.stringOne和B.stringTwo的B项目?
A和B是案例类。
你是正在寻找这样的事情:
case class B(s1: String, s2: String)
case class A(b: B)
val ls = List(A(B("1","2")), A(B("3","4")), A(B("5","6")), A(B("1","2")))
ls.groupBy(identity).map({case (k,v) => (k, v.map(_.b))})
//Output: Map(A(B(1,2)) -> List(B(1,2), B(1,2)), A(B(3,4)) -> List(B(3,4)), A(B(5,6)) -> List(B(5,6)))
它通常是更好地_demonstrate_问题,用代码,而不是试图_describe_问题,用字。 – jwvh