首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Scala综合练习_基于以下List集合实现词频统计

Scala综合练习_基于以下List集合实现词频统计

作者头像
Maynor
发布2021-12-07 08:26:32
发布2021-12-07 08:26:32
2840
举报

基于以下List集合实现词频统计

代码语言:javascript
复制
val list = List("hadoop spark hive ",""," hue spark hadoop hadoop","hue hive hive hive","spark hadoop hadoop")

实现词频统计,并按照单词个数降序排序,实现结果如下

代码语言:javascript
复制
hadoop-5
hive-4
spark-3
hue-2
代码语言:javascript
复制
    val list = List("hadoop spark hive ",""," hue spark hadoop hadoop","hue hive hive hive","spark hadoop hadoop")
//    var m = Map[String, Int]()
//    readLine.trim.split(" ").foreach(i => if (m.contains(i)) m += (i -> (m(i) + 1)) else m += (i -> 1))
//    val sorted = m.toSeq.sortWith(_._2 > _._2)
//    sorted.foreach(println)

val unit = list.flatMap(x =>x.split(" ") //1.转化为List扁平化		1.切割
  .filter(x =>x.trim.length!=0)) 		//2.过滤空字符及前后空格		 2.分组	
  .groupBy(x => x)  					//3.一个个分组				3.排序
  .mapValues(_.size) 					//4.取map的值
  .toList   							//5.转换成List
  .sortBy(-_._2) 						//6.按次数排序 降序
  .foreach(x => println(x)) 		    //7.循环输出
  println(unit.toString())```
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档