2、 使用scala代码完成下面词汇统计的案例 2.1需求,实现单词计数:统计里面出现的相同的单词,进行计数,取出单词频数排名倒数前三的结果,给出scala代码
时间: 2024-03-27 16:38:39 浏览: 50
以下是使用Scala实现单词计数的代码:
```scala
val text = "Hello World, Hello Scala, Scala is cool"
val wordCounts = text
.toLowerCase()
.split("\\W+")
.groupBy(identity)
.mapValues(_.length)
.toList
.sortBy(-_._2)
.take(3)
println(wordCounts)
```
代码解释:
1. 定义一个字符串`text`,表示要进行单词计数的文本。
2. 将文本转换为小写,并使用正则表达式`\W+`分割为单词数组。
3. 使用`groupBy`方法按照单词分组,并使用`mapValues`方法计算每组单词的数量。
4. 将结果转换为列表,并按照单词数量降序排序。
5. 取出前三个单词数量最多的单词及其数量,并打印输出。
输出结果为:
```
List((hello,2), (scala,2), (world,1))
```
表示在文本中,单词`hello`和`scala`各出现了2次,而单词`world`只出现了1次。前三个单词数量最多的单词是`hello`和`scala`。
阅读全文