1. 程式人生 > >scala 實現wordcount

scala 實現wordcount

object ScalaWordCount {
  def main(args: Array[String]): Unit = {
    var lines = List("hello java hello scala", "hello tom", "today is good day hello scala", "day by day")

    //切分並壓平
    val words = lines.flatMap(_.split(" "))

    // 把每個單詞生成一個一個pair(key, 1)
    val tuples = words.map((_, 1))

    //以key進行分組 第一個_代表元組,第二個_1 代表key(單詞)
    val grouped = tuples.groupBy(_._1)

    //統計value的長度
    val sumed = grouped.mapValues(_.size)

    //排序
    val sorted = sumed.toList.sortBy(_._2).reverse
    println(sorted)
  }
}