Scala 的知识点

复制代码
1. 字符串.split("分隔符"):把字符串用指定的分隔符,拆开成多个部分,保存在数组中。
复制代码
从文件1.txt 中,读入内容。
Scala 复制代码
    val content=Source.fromFile("1.txt").mkString
//    println(content)
复制代码
把字符串中的每个单词,拆出去
正则表达式
 \\W+: 大写字符W表示:非字(不是一个字的字符。列如:空格 逗号 句号 换行...)
 +:一个或者多个
Scala 复制代码
val arr=content.split("\\W+")  //得到是一个字符串数组

统计词频

Scala 复制代码
    val m1=scala.collection.mutable.Map[String,Int]()
    arr.foreach(word =>{
      //检查是否出现过?
      if (m1.contains(word)){
        //把票数+1
        m1(word)+=1
      }else{
        //票数为1
        m1(word)=1
      }
    })
复制代码
对于m1,它是一个Map(thank:10, is:5), 现在需要对它进行排序,把出现次数最多的放在最前面,然后再输出。
// (thank,10)
Scala 复制代码
    //只要排序之前的结果的前15个?在List中取出前15个?
    val sortedM1 =m1.toList.sortWith((a,b)=>a._2>b._2).filter(a=>a._1.length>2).slice(0,15)

开始写入代码

Scala 复制代码
    val writer=new PrintWriter("2.txt")
    //输出排序后的Map
    //把结果保存到一个新的文件中
    writer.println("统计的结果是:")
    sortedM1.foreach { case (word, cishu) => writer.println(s"${word}: ${cishu}") }
    writer.close()// 结束写入
相关推荐
娇娇yyyyyy7 分钟前
QT编程(18): Qt QItemSelectionModel介绍
开发语言·qt
豆豆的java之旅22 分钟前
软考中级软件设计师 数据结构详细知识点(含真题+练习题,可直接复习)
java·开发语言·数据结构
sthnyph25 分钟前
QT开发:事件循环与处理机制的概念和流程概括性总结
开发语言·qt
大尚来也1 小时前
Java 反射:从“动态魔法”到生产实战的避坑指南
开发语言
无心水1 小时前
Java时间处理封神篇:java.time全解析
java·开发语言·python·架构·localdate·java.time·java时间处理
m0_587958952 小时前
C++中的命令模式变体
开发语言·c++·算法
~无忧花开~2 小时前
React生命周期全解析
开发语言·前端·javascript·react.js·前端框架·react
剑心诀2 小时前
02 数据结构(C) | 线性表——顺序表的基本操作
c语言·开发语言·数据结构
人间打气筒(Ada)2 小时前
如何基于 Go-kit 开发 Web 应用:从接口层到业务层再到数据层
开发语言·后端·golang
2501_924952692 小时前
代码生成器优化策略
开发语言·c++·算法