scala
val list4: List[(String,Int)] = List(("hello word",2), ("hello scala",4), ("hello java",2), ("hello scala",3), ("hello java",1))
val tuples3: List[(String, Int)] = list4.flatMap(data => {
val spli: Array[String] = data._1.split(" ")
val tuples2: Array[(String, Int)] = spli.map((_, data._2))
tuples2
})
val gro1: Map[String, List[(String, Int)]] = tuples3.groupBy(_._1)
val res1= gro1.map(
tuplemap => {
(tuplemap._1,tuplemap._2.map(_._2).sum)
}
)
println(gro1)
val res2: Map[String, Int] = gro1.mapValues(lit => lit.map(_._2).sum)
println(res2)
//报错信息 C:\Users\Administrator\IdeaProjects\spark_class\scala_class\src\main\scala\class01\test04.scala:80:48
type mismatch;
found : scala.collection.MapView[String,Int]
required: Map[String,Int]
val res2: Map[String, Int] = gro1.mapValues(lit => lit.map(_._2).sum)
使用map处理时不会报错,按照学习视频使用mapValues的时候就报错,视频中和我同样的使用方法就可以完美运行,求解惑
你的开发环境、环境变量、jar等是和视频中的一致吗