package test_30.test_32
import java.io.PrintWriter
import scala.io.Source
object test {
def main(args: Array[String]): Unit = {
val content=Source.fromFile("1.txt").mkString
println(content)
//把字符串中的每个单词,找出来
//正
val arr=content.split("\\W+")//得到是一个字符串数组
arr.foreach(println)
val arr1=Array("thank","you","very","much","thank","very")
val m1=scala.collection.mutable.Map[String,Int]()
arr1.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.filter(a => a._1.length > 2).sortWith((a, b) => a._2 > b._2).slice(0,15)
//开始写入
val writer=new PrintWriter("3.txt")
//输出排序后的Map
//把结果保存到一个新的文件中
writer.println("统计的结果是:")
sortedM1.foreach{case (word,cishu)=> println(s"${word}: ${cishu}")
writer.close()//结束写入
//把结果保存到一个新的文件中:
}
}
}
Scala
爱吃香菜---www2024-11-28 19:18
相关推荐
知识分享小能手1 小时前
C++ 学习教程,从入门到精通,C++ 友元、异常和其他特性 — 详细知识点(15)朝朝辞暮i2 小时前
C++ 第 26 课:对象、指针与 ->2601_962885722 小时前
如何用 Python 做股价历史分位选股?(筛出处于历史低位的股票)殷色玫瑰3 小时前
C++入门基础复习:从命名空间到引用与nullptr,一篇重新捡回C++基础(Charon)3 小时前
【C++面试】手写线程池:任务队列、工作线程与优雅退出言乐63 小时前
Python概括后端原理@大迁世界4 小时前
JEV RAG:更高效的 RAG 系统解决方案?朝朝辞暮i4 小时前
C++ 第一阶段总结:从零基础到 ROS2 前置语法2601_962885724 小时前
如何用 Python 回测定投策略(定期定额 DCA)?(和一次性买入对比)周杰偷奶茶5 小时前
【JavaSE】类和对象基础