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

相关推荐
渣渣盟11 小时前
Flink Table API与SQL流数据处理实战
大数据·sql·flink·scala
howard20053 天前
1.5 掌握Scala内建控制结构
scala·内建控制结构
howard20053 天前
1.1.2 Windows上安装Scala
scala·windows版本
allway24 天前
Debian Regular Expressions
运维·debian·scala
、BeYourself6 天前
Scala 字面量
开发语言·后端·scala
、BeYourself14 天前
Scala 数据类型
开发语言·后端·scala
howard200514 天前
1.2 Scala变量与数据类型
scala·变量·数据类型·常量
渣渣盟14 天前
Flink定时器实战:处理时间与事件时间
大数据·flink·scala