一、Scala的集合体系结构编程
二、List函数式编程
三、LikedList函数
四、Setspa
五、集合的函数式编程scala
六、函数式编程综合案例:统计单词总数3d
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的建立,val list=List(1,2,3,4)。ip
List有head和tail,head表明List的第一个元素,tail表明第一个元素以后的全部元素。
List有特殊的::操做符,能够用于将head和tail合并为一个List。
若是一个List只有一个元素,那么它的head就是这个元素,它的tail是Nil。
用递归函数给List中每一个元素都加上指定的前缀,并打印加上前缀的元素。
LinkedList表明一个可变的列表,使用elem能够引用其头部,使用next能够引用其尾部。Scala 2.11之后已弃用。
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(_ + _)