• 12、scala函数式编程集合


    1、Scala的集合体系结构

    2、List

    3、LikedList

    4、Set

    5、集合的函数式编程

    6、函数式编程综合案例:统计单词总数

    1、Scala的集合体系结构

      Scala中集合体系主要包括:Iterable、Seq、Set、Map。其中Iterable是所有集合trait的根trai。

      Scala中集合分为可变集合和不可变集合两类,其中可变集合就是说集合的元素可以动态修改,而不可变集合的元素在初始化之后,就无法修改了。分别对应scala.collection.mutable和scala.collection.immutable两个包。

      Seq下包含Range、ArrayBuffer、List等子trait。其中Range就代表了一个序列,通常可以使用”1 to 10”这种语法来产生一个Range。

    2、List

      List代表一个不可变的列表,List的创建,val list=List(1,2,3,4)。

      List有head和tail,head代表List的第一个元素,tail代表第一个元素之后的所有元素。

      List有特殊的::操作符,可以用于将head和tail合并为一个List。

      如果一个List只有一个元素,那么它的head就是这个元素,它的tail是Nil。

      

      用递归函数给List中每个元素都加上指定的前缀,并打印加上前缀的元素。

      

    3、LikedList

      LinkedList代表一个可变的列表,使用elem可以引用其头部,使用next可以引用其尾部。Scala 2.11以后已弃用。

    4、Set

      Set代表一个没有重复元素的集合。

      将重复元素加入Set是没有用的。

      Set不保证插入顺序的。

      

      LinkedHashSet会用一个链表维护插入顺序。

      

      SortedSet会自动根据key来进行排序。

      

    5、集合的函数式编程

      map实战:为List中每个元素都添加一个前缀。

      faltMap实战:将List中的多行语句拆分成单词。

      foreach实战:打印List中的每个单词。

      zip实战:对学生姓名和学生成绩进行关联。

      

    6、函数式编程综合案例:统计单词总数

      List("Hello World","How are You").flatMap(_.split(" ")).map((_,1)).map(_._2).reduceLeft(_ + _)

      

  • 相关阅读:
    线程学习笔记(一)
    进程间通信
    管道通信操作
    在程序中执行shell命令
    进程控制(一)
    Makefile文件学习总结
    进程学习笔记
    C#不安全代码和指针
    Unity3D ShaderLab 修改渲染队列进行深度排序
    Unity3D ShaderLab 透明裁剪着色器
  • 原文地址:https://www.cnblogs.com/haisongvip/p/9551067.html
Copyright © 2020-2023  润新知