sna*_*ppy 0 scala scala-collections
我想按键组合这个列表的值
List((1, 11), (2, 21), (1, 13), (1, 14), (2, 25))
Run Code Online (Sandbox Code Playgroud)
并获得这样的列表:
List((1, List(11, 13, 14)), (2, List(21, 25)))
Run Code Online (Sandbox Code Playgroud)
我正在考虑为每个元素使用groupBy然后使用reduceLeft,但我认为可能有更简单,更直接的方法?
scala> val l = List((1, 11), (2, 21), (1, 13), (1, 14), (2, 25))
l: List[(Int, Int)] = List((1,11), (2,21), (1,13), (1,14), (2,25))
scala> l.groupBy(_._1).toList.map(xs => (xs._1, xs._2.map(t => t._2)))
res0: List[(Int, List[Int])] = List((2,List(21, 25)), (1,List(11, 13, 14)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |