我试图在序列中合并案例类。即我有以下案例类:
case class Output(a: String , b: String, c: String, d: Int)
val outputSeq = Seq(
Output("serviceA","targetA","8000",0),
Output("serviceA","targetA","8080",1),
Output("serviceA","targetA","8000",0)
)
我想实现以下输出:
Map(serviceA -> List(Output(serviceA, targetA, 8080, 0), Output(serviceA, targetA, 8080, 1))
以下给了我地图,但我被困在如何摆脱重复。我知道我需要使用map进行进一步过滤,但是我是scala FP中的菜鸟。
outputSeq.groupBy(_.a)
由于mapValues()
已弃用(从Scala 2.13.0开始),建议我们使用长格式。
outputSeq.groupBy(_.a)
.map{case (k,vs) => k -> vs.distinct}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句