基于第一个元素

时间:2015-12-07 02:59:18

标签: scala

我有2个数组Array[(Int, Int)]Array[(Int, List[String])], 例如:

    (1, 2) and (1, (123, 456, 789)) 
    (2, 8) and (2, (678, 1000))
    (3, 4) and (3, (587, 923, 168, 392))

我想将这两个数组合并为一个Array [(Int, List[String], Int)],如下所示:

    (1, (123, 456, 789), 2)
    (2, (678, 1000), 8)
    (3, (587, 923, 168, 392), 4)

并希望scala仍然意识到第二个元素是List[String], 我尝试了很多方法来组合这两个地图或数组,但是无法实现第二个元素是List[String],在合并之后,它将第二个元素视为AnySome并且无法遍历它

1 个答案:

答案 0 :(得分:3)

我找到了解决方案:

array1.zip(array2).map { 
     case ((p1,count), (p2,categoryList)) => (p1,categoryList,count) 
}