十二、scala函数式编程集合

一、Scala的集合体系结构编程

二、List函数式编程

三、LikedList函数

四、Setspa

五、集合的函数式编程scala

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

一、Scala的集合体系结构

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

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

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

二、List

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

  List有head和tail,head表明List的第一个元素,tail表明第一个元素以后的全部元素。

  List有特殊的::操做符,能够用于将head和tail合并为一个List。

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

  

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

  

三、LikedList

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

四、Set

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

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

  Set不保证插入顺序的。

  

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

  

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

  

五、集合的函数式编程

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

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

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

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

  

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

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

  

相关文章
相关标签/搜索