首页 > 其他 > 详细

scala集合和高级函数操作

时间:2017-01-12 12:23:09      阅读:266      评论:0      收藏:0      [点我收藏+]

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  

scala集合和高级函数操作

原文:http://www.cnblogs.com/houji/p/6275551.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!