Scala课后总结(8)

集合计算高级函数

过滤(filter)

从集合里挑出符合特定条件元素组成新集合 。比如从整数集合里选出偶数, list.filter(x => x % 2 == 0) ,就是筛选出能被2整除的元素。

转化/映射(map)

对集合每个元素应用一个函数,得到新元素组成新集合。像 list.map(x => x + 1) ,会把集合里每个数都加1 。

扁平化(flatten)

把嵌套集合(集合里元素还是集合)展开成单一层次集合。如 List(List(1, 2), List(3, 4)) 经 flatten 后变为 List(1, 2, 3, 4) 。

扁平化 + 映射(flatMap)

先对集合元素映射处理,再扁平化。例如对字符串集合按空格拆分后再合并, wordList.flatMap(x => x.split(" ")) 。

分组(groupBy)

按指定规则把集合元素分组。像 list.groupBy(x => x % 2) ,会按元素除以2的余数把元素分组。

简化(归约):通过某种运算把集合元素合并成一个值。

折叠:和归约类似,不过多了个初始值参与运算。

Reduce方法

概念:通过特定逻辑聚合集合数据,减少数据量得到结果 。

Fold方法

概念:是 Reduce 简化的特殊情况

两个集合并

定义两个可变 Map : map1 和 map2 。

用 foldLeft 方法将 map2 合并到 map1 ,遍历 map2 ,若 map1 有相同键则值相加,没有则添加键值对到 map1 ,最终得到合并后的 map3

相关推荐
MZWeiei7 小时前
Spark任务调度流程详解
大数据·分布式·spark·scala
бесплатно16 小时前
Scala流程控制
开发语言·后端·scala
Bin Watson8 天前
解决 Builroot 系统编译 perl 编译报错问题
开发语言·scala·perl
什么芮.11 天前
大数据应用开发和项目实战(2)
大数据·pytorch·sql·spark·scala
不要天天开心12 天前
Spark-Streaming核心编程:有状态转化操作与DStream输出
scala
欧先生^_^13 天前
Scala语法基础
开发语言·后端·scala
不要天天开心15 天前
大数据利器:Kafka与Spark的深度探索
spark·scala
不要天天开心16 天前
Kafka与Spark-Streaming:大数据处理的黄金搭档
kafka·scala
什么芮.17 天前
spark-streaming
pytorch·sql·spark·kafka·scala
爱编程的王小美21 天前
Scala 入门指南
开发语言·后端·scala