您的位置:首页 > 其它

scala集合和高级函数操作

2017-01-11 22:49 344 查看
scala常用函数操作

reduceLeft 是将集合的元素从左向右进行所需要的相应操作,图以减法为例展示,表达的算法是 : 1-2-3-4-5

例: (1 to 5).reduceLeft(_ - _) 结果为-13




reduceRight 是将集合的元素从右向左进行所需要的相应操作,图以减法为例展示,表达的算法是 :1-(2-(3-(4-5)))

例:(1 to 5).reduceRight(_ - _) 结果为3



foldLeft 设定一个值,该值对集合从左向右进行所必要的相应操作,图以减法为例展示,





foldRight 设定一个值,从右向左集合对该值进行所必要的相应操作,图以减法为例展示,



foreach与map区别

Scala中的集合对象都有foreach和map两个方法。两个方法的共同点在于:都是用于遍历集合对象,并对每一项执行指定的方 法。而两者的差异在于:foreach无返回值(准确说返回void),map返回集合对象。见如下代码及运行结果:foreach 得到的是void, 而 map 得到的是colletion 。foreach和map的运行结果一致。结论就是:foreach 无法代替map. 而map方法却可以代替foreach。

例 foreach 例map





flatMap 与 Map区别

map操作是针对集合的典型变换操作,它将某个函数应用到集合中的每个元素,并产生一个结果集合。

flatMap是map的一种扩展。在flatMap中,我们会传入一个函数,该函数对每个输入都会返回一个集合(而不是一个元素),然后, flatMap把生成的多个集合“拍扁”成为一个集合。简单的讲,就是将多个集合合并成一个包含所有集合元素的集合

map例



flatmap例





结果为



head 获取集合的第一个元素

last 获取集合的最后一个元素

tail 获取除去集合中第一个元素的所有元素

is​Empty 判断是否为空

leftOuterJoin

aggregateByKey
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: