/**

  • 从文件中读取数据,统计每个单词出现的次数 */ import scala.io.Source // 导入Scala标准库中的Source类

object shiyan2_3 { // 定义名为shiyan2_3的对象 def main(args: Array[String]): Unit = { // 定义名为main的方法,参数为args数组 val filename = 'file.txt' // 定义一个字符串常量filename,值为'file.txt' val source = Source.fromFile('D:\test.txt') // 从文件中读取数据,返回一个Source类型的对象 val list = source.getLines().toList // 获取source对象中的所有行,并将其转换为List类型 source.close() // 关闭source对象 var wordList: List[String] = list.flatMap(.split(' ')) // 将list中的每一行按空格分割成单词,并将所有单词合并到一个List中 var wordtuples:List[(String,Int)] = wordList.map((,1)) // 将wordList中的每个单词转换为一个元组,第一个元素为单词本身,第二个元素为1 val wordgroup:Map[String,List[(String,Int)]] = wordtuples.groupBy(kv=>kv._1) // 将wordtuples按照第一个元素(即单词本身)进行分组,返回一个Map类型的对象,其中键为单词本身,值为包含该单词所有元组的List var wordcount:Map[String,Int] = wordgroup.mapValues(list=>list.size) // 将wordgroup中的每个键值对(即每个单词及其对应的元组List)转换为一个新的键值对,其中键为单词本身,值为该单词在元组List中出现的次数 println(wordcount) // 打印wordcount } }

Scala 统计文本文件中每个单词出现的次数

原文地址: http://www.cveoy.top/t/topic/kxbd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录