合并案例类

我试图在序列中合并案例类。即我有以下案例类:

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)
w

由于mapValues() 已弃用(从Scala 2.13.0开始),建议我们使用长格式。

outputSeq.groupBy(_.a)
         .map{case (k,vs) => k -> vs.distinct}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章