第 7 章 集合-----Scala集合继承图

在这里插入图片描述

7.1.1 不可变集合继承图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.1.2 可变集合继承图

在这里插入图片描述

7.2.3 不可变数组与可变数组的转换

在这里插入图片描述

7.7.6 复杂 WordCount 案例

1)方式一

object TestWordCount {def main(args: Array[String]): Unit = {// 第一种方式(不通用)val tupleList = List(("Hello Scala Spark World ", 4), ("Hello 
Scala Spark", 3), ("Hello Scala", 2), ("Hello", 1))val stringList: List[String] = tupleList.map(t=>(t._1 + " 
") * t._2)//val words: List[String] = 
stringList.flatMap(s=>s.split(" "))val words: List[String] = stringList.flatMap(_.split(" "))
//在 map 中,如果传进来什么就返回什么,不要用_省略val groupMap: Map[String, List[String]] = 
words.groupBy(word=>word)//val groupMap: Map[String, List[String]] = 
words.groupBy(_)// (word, list) => (word, count)val wordToCount: Map[String, Int] = groupMap.map(t=>(t._1, 
t._2.size))val wordCountList: List[(String, Int)] = 
wordToCount.toList.sortWith {(left, right) => {left._2 > right._2}}.take(3)//tupleList.map(t=>(t._1 + " ") * t._2).flatMap(_.split(" 
")).groupBy(word=>word).map(t=>(t._1, t._2.size))println(wordCountList)}
}

2)方式二

object TestWordCount {def main(args: Array[String]): Unit = {val tuples = List(("Hello Scala Spark World", 4), ("Hello 
Scala Spark", 3), ("Hello Scala", 2), ("Hello", 1))// (Hello,4),(Scala,4),(Spark,4),(World,4)// (Hello,3),(Scala,3),(Spark,3)// (Hello,2),(Scala,2)// (Hello,1)val wordToCountList: List[(String, Int)] = tuples.flatMap 
{t => {val strings: Array[String] = t._1.split(" ")strings.map(word => (word, t._2))}}// Hello, List((Hello,4), (Hello,3), (Hello,2), (Hello,1))// Scala, List((Scala,4), (Scala,3), (Scala,2)// Spark, List((Spark,4), (Spark,3)// Word, List((Word,4))val wordToTupleMap: Map[String, List[(String, Int)]] = 
wordToCountList.groupBy(t=>t._1)val stringToInts: Map[String, List[Int]] = 
wordToTupleMap.mapValues {datas => datas.map(t => t._2)}stringToIntsval wordToCountMap: Map[String, List[Int]] = 
wordToTupleMap.map {t => {(t._1, t._2.map(t1 => t1._2))}}val wordToTotalCountMap: Map[String, Int] = 
wordToCountMap.map(t=>(t._1, t._2.sum))println(wordToTotalCountMap)}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7606.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义MVC

目录 一、MVC概念描述 1、什么是MVC? 2、什么是自定义MVC? 3、自定义MVC有什么用(主要用途)? 二、MVC三层架构 第一种版本 JSP页面 servlet 结果 第二种版本 JSP代码 servlet 结果 第三种版本 jsp页面 s…

HIve中的查询语句

文章目录 Hive中的查询语句1. 基础语法2. 基本查询(Select…From)2.1 数据准备(0)原始数据(1)创建部门表(2)创建员工表(3)导入数据 2.2 全表和特定列查询1&am…

Flutter 实现任意控件拖动

文章目录 前言一、如何实现?1、使用GestureDetector响应拖动事件2、使用Transform变换控件位置3、计算拖动区域 二、完整代码三、使用示例1、基本用法 总结 前言 使用flutter开发是需要控件能拖动,比如画板中的元素,或者工具条,搜…

arcgis api for JavaScript4.2x 在vue中白膜图层的加载、(分类、分段)渲染

这篇文章是对有webgis前端开发经验的人 1、假设之前的三维视图均已成功加载,获取到了三维视图,这里的三维视图变量定义的名字是mapView。(PS:三维视图mapview在项目初始化已经设置了,本示例中会直接使用调用结果&…

Unity 热力图效果实现 笔记

Unity 热力图效果实现 笔记 参考文献连接: 1、人体热力图shader graph实现(URP) 超链接: https://www.youtube.com/watch?vKlMON4Dzq_0&t51s shader forge 翻译通用管线下 连接点实现方案: 2、碰撞热力图实现…

【python爬虫应用03】csdn个人所有文章质量分查询

🛠️ 环境准备 在开始编写代码之前,我们需要进行一些环境准备。以下是所需的环境和库: 操作系统:Windows编程语言:Python 3编辑器:VSCode(可选) 安装所需的库: reque…

php宝塔搭建EMLOG站长工具箱网站自适应PC手机端php源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套站长工具箱网站自适应PC手机端php源码。感兴趣的朋友可以自行下载学习。 技术架构 PHP5.6 nginx mysql5.6 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码,宝塔添…

Spring Cloud

一、微服务架构 单体架构:将业务的所有功能集中在一个项 目中开发,打成一个包部署 分布式架构:根据业务功能对系统做拆分, 每个业务功能模块作为独立项目 开发,称为一个服务 微服务架构: 特征: …

CSS样式表

CSS样式表 1、CSS介绍 CSS Cascading Style Sheet 层叠样式表,或,级联样式表 表现HTML文件样式的计算机语言 修饰静态页面 配置脚本语言动态对网页元素进行样式格式化 排序 对元素的位置进行像素级精确控制 支持所有字体字号样式 对网页对象和模型样式…

springboot集成camunda

1、相关软件下载Camunda流程引擎快速入门——Hello World示例 2、由于camunda-modeler最新版本为5.12.0.界面不太一样。 可以安装历史版本4.12.0camunda-bpm camunda-modeler等历史版本下载 3、汉化Camunda Modeler汉化添加简体中文和繁体中文支持 4、集成如何实现Springbootca…

LVS负载均衡集群

目录 1.LVS 2.集群分类 3.负载均衡集群工作模式 4.负载均衡集群架构 5.LVS作用 6.LVS与nginx比较 7.ipvsadm工具 8.实验 第一台服务器 进入第二台第三台服务器下载http服务nfs服务rpcbind服务并启动 进入第四台服务器 9.总结 1.LVS 负载均衡的结构 2.集群分类 负载均衡…

Java基础---String str=new String(“tang“)创建了几个对象

目录 典型回答 常量池基本概念 字符串常量池的结构 再看字面量和运行时常量池 intern 还是创建了几个对象 intern的正确用法 典型回答 创建的对象数应该是1个或者2个如果常量池中存在,则直接new一个对象如果常量池不存在,则在常量池中创建一个对象…