我在scala中做一些基本程序
import scala.io.Source
/* records.txt
USA,Surender
USA,Raja
CHINA,Yen
CHINA,Chen
INDIA,Adam
INDIA,Edward
* /
object ReadingFile
{
def main (args :Array[String]){
val fileLoc = "D:\\inputfiles\\records.txt"
val lines = Source.fromFile(fileLoc).getLines().toList
val linesSplit = lines.map(x => x.split(","))
val linesMap = linesSplit.map(x => (x(0),x(1)))
}
}
我不知道如何将AGG功能用于linesMap。我需要在代码中添加什么才能获得以下输出
USA,2
CHINA,2
INDIA,2
答案 0 :(得分:1)
Source.fromFile(fileLoc)
.getLines()
.map(_.split(",")).
.groupBy(_(0))
.map(i => (i._1, i._2.size))
也可以使用mapValues
:
Source.fromFile(fileLoc)
.getLines()
.map(_.split(","))
.groupBy(_(0))
.mapValues(_.size)