*4 集合的高级函数(重点)
count 统计个数
记得要加条件不然要报错
filter 过滤
条件:x>4
sortBy 排序
正序:
逆序(记得加个空格):
sortWwith 排序
这里参数x1,x2可以理解为上一个元素和下一个元素进行比较,都是同一个集合中出来的元素进行对比。
grouped 分组
这个和那个GroupBy差别很大的哈!!
这里传的这个2是从第2个元素来个分,def sliding(size: Int): Iterator[Iterabl)[A]] 的含义是,如果不指定step,默认step是1。
fold 折叠(默认也就是左折叠)
foldLeft 左折叠
先定义一个List
使用折叠函数,初始值为2,在折叠过程中执行的过程如下
加 (((0+1)+3)+4)=8
减 (((2-1)-3)-4)=-6
foldRight 右折叠
减 1-(3-(4-0))=2
总结:左折叠就是初始值在最左。右折叠就是初始值在最右
reduce 聚合
可以把它看成特殊的左折叠,就是初始值为0的左折叠
aggregate 先局部聚合再全局聚合(分布式的时候才有效果。先暂时不演示)
zip 拉链
相同的个数可以进行匹配
不相同的个数,多余的自动省略
sum 求和
看结果。不解释很简单