2015-10-07 47 views
0

我很难处理列表的斯卡拉:
目前我有像这样的列表JSON处理

(List(JString(2437), JString(2445), JString(2428), JString(321)), CompactBuffer((4,1))) 

的清单,我会处理后想,结果会像下面:

((2437, CompactBuffer((4,1))), (2445, CompactBuffer((4,1))), (2428, CompactBuffer((4,1))), (321, CompactBuffer((4,1)))) 

任何机构可以帮助我解决这个问题吗? 非常感谢。

回答

1

试试这个:

val pair = (List(JString(2437), JString(2445), JString(2428), JString(321)), 
      CompactBuffer((4,1))) 

val result = pair._1.map((_, pair._2)) 

首先,pair._1从元组获取列表。然后,map在列表的每个元素上执行该功能。函数(_, pair._2)将列表中的给定元素与元组的第二部分一起放入新元组中。

+0

谢谢你的帮助。在尝试应用您的解决方案时出现一些错误:值_1不是org.apache.spark.rdd.RDD [(String,Array [(Int,Int)])]的成员。你有什么主意吗? –

+0

我看到你现在已经在http://stackoverflow.com/questions/33005737/error-processing-scala-list上问这个问题了。 –