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

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

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

val list = List("hadoop spark hive ",""," hue spark hadoop hadoop","hue hive hive hive","spark hadoop hadoop")

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

hadoop-5
hive-4
spark-3
hue-2
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())```


目录
相关文章
|
2月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
2月前
|
安全
List集合特有功能
List集合特有功能
33 2
|
2月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
2月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
4月前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
|
4月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
617 1
|
12天前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
12 3
|
2月前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
2月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
2月前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
32 5