11.21Scala

复制代码
import java.io.PrintWriter
import scala.io.Source
object ddd1 {
  def main(args: Array[String]): Unit = {
    //读入文件内容
    val content = Source.fromFile("dd.txt").mkString
    println(content)
    //2.把字符串拆分为一个一个的单词,保存到数组
    //正则表达式
    //\\:表示正则表达式
    // w:表示一个非字(不是一个字,例如:空格,逗号,句号)
    //w+:多个非字
    val arr = content.split("\\w+")
    for(word <-arr){
      println(word)
    }
    //3.统计每个单词出现的次数
    val wordMap = scala.collection.mutable.Map[String,Int]()
    for(w <-arr){
      val word = w.toLowerCase()//把单词全部小写
      if(wordMap.contains(word)){
        wordMap(word)+=1
      }else{
        wordMap(word)=1
      }
    }
    //排序,Map是无序,要做排序,先要把数组转成数列,List,Array
    println( wordMap.toList)
    val orderWordList = wordMap.toList.sortWith((a,b)=>a._2>b._2).filter(e=>e._1,length>2).slice(0,30)
    //5.把结果写到一个文件中
    for(e<-orderWordList){
      println(e)
    }
    val writer= new PrintWriter("out.txt")
    writer.println("结果是:")
    writer.println("the:20次")
    writer.close()
  }

}
相关推荐
兮动人13 小时前
C语言之指针入门
c语言·开发语言·c语言之指针入门
ada7_13 小时前
LeetCode(python)78.子集
开发语言·数据结构·python·算法·leetcode·职场和发展
nbsaas-boot14 小时前
Go 项目中如何正确升级第三方依赖(Go Modules 实战指南)
开发语言·后端·golang
wadesir15 小时前
C++基本数据类型详解(零基础掌握C++核心数据类型)
java·开发语言·c++
skywalk816315 小时前
wow文件处理trinitycore的文件处理
开发语言·游戏
一路往蓝-Anbo16 小时前
STM32单线串口通讯实战(五):RTOS架构 —— 线程安全与零拷贝设计
c语言·开发语言·stm32·单片机·嵌入式硬件·观察者模式·链表
leiming616 小时前
c++ map容器
开发语言·c++·算法
坚持就完事了16 小时前
JavaScript
开发语言·javascript·ecmascript
多多*16 小时前
2026年1月3日八股记录
java·开发语言·windows·tcp/ip·mybatis
杨校16 小时前
杨校老师课堂备赛C++信奥之模拟算法习题专项训练
开发语言·c++·算法