Scala学习进击Spark(七): Scala函数高阶操作

字符串高级操作
多行
Scala学习进击Spark(七): Scala函数高阶操作
Scala学习进击Spark(七): Scala函数高阶操作
匿名函数
Scala学习进击Spark(七): Scala函数高阶操作
Scala学习进击Spark(七): Scala函数高阶操作
currying函数
Scala学习进击Spark(七): Scala函数高阶操作
高阶函数
Scala学习进击Spark(七): Scala函数高阶操作
map的使用
Scala学习进击Spark(七): Scala函数高阶操作
Scala学习进击Spark(七): Scala函数高阶操作
filter的使用
Scala学习进击Spark(七): Scala函数高阶操作
reduce
scala中集合类iterator特质的化简和折叠方法
c.reduceLeft(op)这样的调用将op相继应用到元素,如:
eg:

val a = List(1,7,2,9)
val a1 = a.reduceLeft(_ - _)//      ((1-7) - 2) - 9 = -17

c.foldLeft(0)(_ * _)方法

val a2 = a.foldLeft(0)(_ - _) //    0-1-7-2-9 = -19

对于foldLeft方法还有一种简写,这种写法的本意是让你通过/:来联想一棵树的样子
对/:操作符来说,初始值是第一个操作元本题中是0,:后是第二个操作元a

val a3 = (0 /: a)(_ - _) //      等价于a.foldLeft(0)(_ - _)

scala同样也提供了foldRight或:\的变体,计算

val a4 = a.foldRight(0)(_ - _)//    1-(7-(2-(9-0))) = -13
val a5 = (a :\ 0)(_ - _)   //    等价于a.foldRight(0)(_ - _)

flatten
Scala学习进击Spark(七): Scala函数高阶操作
将list中的元素压瘪,整合为一个list