2.4 Scala函数式编程
一、函数定义与使用
1.函数的定义
2.匿名函数
举例:
Scala自动推断变量类型,不用声明;
一个下划线只能表示这一个参数的一次出现
二、高阶函数
定义:函数定义的括号里仍然是个函数的函数,叫作高阶函数
三、针对容器的操作
1.遍历(foreach)
f是lambda表达式
case(k,v)相当于一个元组对象,把键值对里的元素提取出来。
2.映射(map、flatMap)
(1)map:一对一
(2)flatMap:一对多
3.过滤(filter)
举例1:
举例2:过滤列表
4.归约(reduce、fold)
(1)reduce
(2)fold:有初始值的归约
- foldleft是从左开始计算,然后往右遍历;
- foldright是从右开始算,然后往左遍历;
- fold遍历的顺序没有特殊的次序
四、函数式编程实例WordCount
参考文献: