小编use*_*411的帖子

在scala中的GroupBy

我有

val a = List((1,2), (1,3), (3,4), (3,5), (4,5))
Run Code Online (Sandbox Code Playgroud)

我正在使用A.groupBy(_._1)groupBy和第一个元素.但是,它给了我输出

Map(1 -> List((1,2) , (1,3)) , 3 -> List((3,4), (3,5)), 4 -> List((4,5)))
Run Code Online (Sandbox Code Playgroud)

但是,我想要回答

Map(1 -> List(2, 3), 3 -> List(4,5) , 4 -> List(5))
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么做呢?

scala

5
推荐指数
2
解决办法
1228
查看次数

根据元组元素过滤列表

我有一个List [(Int,Int)].

防爆.

val a = List((1,2),(2,3),(1,4),(2,4),(5,6),(4,5),(1,8))
Run Code Online (Sandbox Code Playgroud)

我想过滤这个列表,以便如果几个元组具有相同的第一个元素(相同的值_1),那么只保留第一个元组.

所以这里预期的答案是:

val ans=List((1,2),(2,3),(5,6),(4,5))
Run Code Online (Sandbox Code Playgroud)

作为第一个元素(1,2)1和同样适用于(1,4)(1,8),我们只保留第一次出现((1,2))而忽略其他((1,4)(1,8)).

我怎样才能做到这一点?

scala

0
推荐指数
1
解决办法
1910
查看次数

标签 统计

scala ×2