found,Required(String,String,String,Int):tuples-scala

时间:2016-12-18 22:40:47

标签: scala list apache-spark tuples

我有3个相同长度的ListBuffers。

  

devicenamelist:ListBuffer [String]

     

datelist:ListBuffer [String]

     

wordcountssortedlistbuf [(字符串,整数)]

现在我需要转换它们的格式

  

ListBuffer(字符串,字符串,字符串,整数)

我尝试了以下

 var sortedrecords=scala.collection.mutable.ListBuffer[(String,String,String,Int)]()

 for(i <- 0 to devicenamelist.length)
{

sortedrecords+=(devicenamelist(i),datelist(i),wordcountssortedlistbuf(i)._1,wordcountssortedlistbuf(i)._2)  

}

它给出了如下错误

  

[error] found String

     

必需(String,String,String,Int)

当我打算创建(String,String,String,Int)时,顶部的列表追加操作如何只给出一个字符串。我错过了什么吗?

由于

1 个答案:

答案 0 :(得分:5)

你在+=行中缺少一组括号,但是,请不要这样做,看到有人在scala中写这样的东西会让我感到害怕。

尝试这样的事情:

val sortedrecords = devicenamelist.zip(datelist).zip(wordcountssortedlistbuf)
 .map { case ((devicename, date), (word, count)) => 
   (devicename, date, word, count)
 }