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()// 结束写入
相关推荐
亚空间仓鼠10 分钟前
Python学习日志(四):实例
开发语言·python·学习
Fanfanaas12 分钟前
Linux 系统编程 进程篇 (二)
linux·运维·服务器·c语言·开发语言·学习
油丶酸萝卜别吃15 分钟前
高效处理数组差异:JS中新增、删除、交集的最优解(Set实现)
开发语言·前端·javascript
HoneyMoose17 分钟前
Npmp 安装时候提示警告: error (ERR_INVALID_THIS)
开发语言
gskyi18 分钟前
时间格式化神器:智能显示相对时间
开发语言·javascript·ecmascript
wanhengidc20 分钟前
云手机能够实现哪些功能?
大数据·运维·安全·智能手机
古城小栈23 分钟前
Rust在当下AI领域的用武之地:从底层加速到上层应用全解析
开发语言·人工智能·rust
lsx20240624 分钟前
SQLite Where 子句详解
开发语言
专注VB编程开发20年27 分钟前
VBA/VB6 ADO数据库查询jet+只读更快
开发语言·数据库·ado·vb
jiayong2327 分钟前
第 11 课:把筛选条件同步到 URL
开发语言·前端·javascript