object Test extends App {
val lines = List("hello csdn hello ksl hello asd asd dsudrf"
, "i jirgjiji fnjadf"
, "igbwi b u ue nnn ggnnugnrn"
,"nn wnui g ngndu abd abd jij ji ji jj iji ji ji 1213 123123 12 3123 1213 00")
val result1 = lines.flatMap(_.split(" "))
//println(result1)
val result2 = result1.map((s: String) => (s, 1))
//println(result2)
val result3 = result2.groupBy(_._1)
//println(result3)
val result4 = result3.map((t: (String, List[(String, Int)])) => t._1 -> t._2.size)
//println(result4)
val result5 = result4.toList.sortBy(_._2).reverse
println(result5)
println("**************************************************")
// 一行代码搞定
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).map(x => x._1 -> x._2.size).toList.sortBy(_._2).foreach(print)
}
输出结果
(12,1)(dsudrf,1)(nnn,1)(ngndu,1)(fnjadf,1)(u,1)(123123,1)(igbwi,1)(ue,1)(i,1)(iji,1)(b,1)(wnui,1)(jij,1)(ksl,1)(3123,1)(g,1)(csdn,1)(00,1)(nn,1)(ggnnugnrn,1)(jj,1)(jirgjiji,1)(1213,2)(abd,2)(asd,2)(,3)(hello,3)(ji,4)