我有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)时,顶部的列表追加操作如何只给出一个字符串。我错过了什么吗?
由于
答案 0 :(得分:5)
你在+=
行中缺少一组括号,但是,请不要这样做,看到有人在scala中写这样的东西会让我感到害怕。
尝试这样的事情:
val sortedrecords = devicenamelist.zip(datelist).zip(wordcountssortedlistbuf)
.map { case ((devicename, date), (word, count)) =>
(devicename, date, word, count)
}