scala 词频统计
时间: 2023-07-27 20:07:25 浏览: 124
可以使用 Scala 实现一个简单的词频统计程序,以下是示例代码:
```scala
import scala.io.Source
object WordCount {
def main(args: Array[String]) {
val fileName = "input.txt"
val lines = Source.fromFile(fileName).getLines().toList
val words = lines.flatMap(_.split("\\W+"))
val wordCounts = words.groupBy(_.toLowerCase).mapValues(_.length)
val sortedWordCounts = wordCounts.toSeq.sortBy(-_._2)
sortedWordCounts.foreach { case (word, count) => println(s"$word: $count") }
}
}
```
以上代码读取名为 `input.txt` 的文件,并将其转换为行列表。然后,每行字符串通过正则表达式 `\\W+` 分割为单词列表,同时转换为小写。接着,使用 `groupBy` 方法将单词列表按照单词分组,并使用 `mapValues` 方法对每个组中的单词数量进行计数。最后,将单词计数映射转换为序列,并按照单词数量降序排序,最终输出每个单词及其计数。
相关问题
Scala词频统计案例
我可以为您提供一个关于Scala词频统计的示例: def wordCount(words: Array[String]): Map[String, Int] = {
val wordCountMap = scala.collection.mutable.Map[String, Int]()
for (word <- words) {
val count = wordCountMap.getOrElse(word, 0)
wordCountMap.put(word, count + 1)
}
wordCountMap.toMap
}
scala wordcount 词频统计
Scala是一种基于JVM的编程语言,可以用来实现词频统计(wordcount)功能。词频统计是指对一段文本中出现的单词进行统计,得出每个单词出现的次数,从而得出单词的词频。在Scala中,可以使用Map集合来实现词频统计功能,具体实现方法可以参考Scala官方文档或相关教程。
阅读全文