zoukankan      html  css  js  c++  java
  • 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  

  • 相关阅读:
    oracle删除归档日志
    ORA-16014: log 3 sequence# 540 not archived, no available destinations
    rsync
    vmware 虚拟机导入OVF出现路径错误
    RHEL5.X 重启网卡出现./network-functions: line 78: .: ifcfg-eth0: file not found
    AIX 6.1记录
    CentOS网卡显示为__tmpxxxxxxxx
    PowerPiggy 博客
    利用谷歌浏览器插件获得更好的浏览体验
    C# 的 MSIL 简介
  • 原文地址:https://www.cnblogs.com/houji/p/6275551.html
Copyright © 2011-2022 走看看