scala中的序列转换

seb*_*ebi 1 functional-programming scala

在scala中,有一种简单的方法可以转换这个序列

Seq(("a", 1), ("b", 2), ("a", 3), ("c", 4), ("b", 5))

进入这个Seq(("a", 4), ("b", 7), ("c", 4))

谢谢

Mic*_*jac 5

我不确定你是否打算String在元组的第二个纵坐标中使用s.假设Seq[(String, Int)],您可以使用groupBy第一个纵坐标对元素进行分组:

Seq(("a", 1), ("b", 2), ("a", 3), ("c", 4), ("b", 5))
   .groupBy(_._1)
   .mapValues(_.map(_._2).sum)
   .toSeq
Run Code Online (Sandbox Code Playgroud)

否则,你接下来会额外的 .toInt