我有一个列表列表,我想使用内部值之一来分隔
我本以为哈希映射可以工作,但是我对它并不熟悉,所以列表看起来像这样
statusJob_A = `curl https://jenkins/view/jobA/lastBuild/api/json | grep "\"result\":\"SUCCESS\"" && echo "FAILED"`
statusJob_B = `curl https://jenkins/view/jobB/lastBuild/api/json | grep "\"result\":\"SUCCESS\"" && echo "FAILED"`
我想得到类似的东西
val data: List[(Int, Int, Int, Int)] = List((0, 1, 2, 3), (1, 1, 2, 7), (2, 1, 5, 5), (3, 1, 3, 7), (4, 1, 2, 8), (5, 1, 5, 4), (6, 1, 3, 5))
我用每个列表中的第三个元素将其分隔
答案 0 :(得分:3)
这是您要寻找的解决方案,但是您将拥有列表列表而不是元组列表:
val list : List[(Int, Int, Int, Int)] = List((0, 1, 2, 3), (1, 1, 2, 7), (2, 1, 5, 5), (3, 1, 3, 7), (4, 1, 2, 8), (5, 1, 5, 4), (6, 1, 3, 5))
list.groupBy(_._3).values.toList
> res = List(List((0,1,2,3), (1,1,2,7), (4,1,2,8)), List((2,1,5,5), (5,1,5,4)), List((3,1,3,7), (6,1,3,5)))
答案 1 :(得分:0)
您可以在列表上使用groupBy
函数:
list.groupBy( i => i._3 )
将创建一个哈希表。之后,您将需要按摩地图的values
。
祝你好运!