1.函数的定义

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.匿名函数

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

举例:

2.4 Scala函数式编程

2.4 Scala函数式编程

Scala自动推断变量类型,不用声明;

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

 一个下划线只能表示这一个参数的一次出现

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

二、高阶函数

定义:函数定义的括号里仍然是个函数的函数,叫作高阶函数

2.4 Scala函数式编程

2.4 Scala函数式编程 

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

三、针对容器的操作

2.4 Scala函数式编程

1.遍历(foreach)

2.4 Scala函数式编程

 f是lambda表达式

2.4 Scala函数式编程

2.4 Scala函数式编程

case(k,v)相当于一个元组对象,把键值对里的元素提取出来。

2.4 Scala函数式编程

2.映射(map、flatMap)

2.4 Scala函数式编程

(1)map:一对一

2.4 Scala函数式编程

 2.4 Scala函数式编程

(2)flatMap:一对多

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

3.过滤(filter)

举例1:

2.4 Scala函数式编程

举例2:过滤列表

2.4 Scala函数式编程

4.归约(reduce、fold)

(1)reduce

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

2.4 Scala函数式编程

(2)fold:有初始值的归约

  • foldleft是从左开始计算,然后往右遍历;
  • foldright是从右开始算,然后往左遍历;
  • fold遍历的顺序没有特殊的次序

2.4 Scala函数式编程

2.4 Scala函数式编程

四、函数式编程实例WordCount

2.4 Scala函数式编程

2.4 Scala函数式编程

 

 

 

参考文献:

【1】Spark编程基础_中国大学MOOC(慕课)

相关文章: