当前位置: 首页 > article >正文

Scala 的知识点

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



统计词频

    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)
    //只要排序之前的结果的前15个?在List中取出前15个?
    val sortedM1 =m1.toList.sortWith((a,b)=>a._2>b._2).filter(a=>a._1.length>2).slice(0,15)

开始写入代码

    val writer=new PrintWriter("2.txt")
    //输出排序后的Map
    //把结果保存到一个新的文件中
    writer.println("统计的结果是:")
    sortedM1.foreach { case (word, cishu) => writer.println(s"${word}: ${cishu}") }
    writer.close()// 结束写入


http://www.kler.cn/a/419209.html

相关文章:

  • Linux中pcap_loop()函数
  • 算法的复杂度
  • LeetCode:19.删除链表倒数第N个节点
  • 解决jupyter notebook 新建或打开.ipynb 报500 : Internal Server Error(涉及jinja2兼容性问题)
  • 蓝桥-希尔排序模板题
  • 【Java基础面试题004】封装、继承、重载、多态、接口和抽象类是什么?
  • 《JavaEat:探索 Java 在美食世界的奇妙之旅》
  • 无星的微前端之旅(四)——qiankun线上服务代理到本地
  • 后端-一对一的数据封装的两种写法对比
  • Android 图形系统之六:BufferQueue
  • 信息网络安全考试gjdw
  • 网络安全运维——高级 题库一 50题
  • vue3 + vite + antdv 项目中自定义图标
  • 华为OD机试真题---幼儿园篮球游戏
  • 【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
  • 【Vue3】【Naive UI】<NDropdown>标签
  • 【机器学习】机器学习学习笔记 - 监督学习 - 多项式回归决策树回归 - 03
  • 【拥抱AI】如何查看Milvus的使用情况?
  • redis实战:集群的session问题
  • 数据结构之二叉树详解:从原理到实现