scala集合和高级函数操作

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  

posted on 2017-01-11 22:49  厚积!!  阅读(410)  评论(0编辑  收藏  举报

导航