flatmap详解
2015-10-08 13:04
253 查看
flatMap
flatMap是一种常用的组合子,结合映射[mapping]和扁平化[flattening]。
flatMap需要一个处理嵌套列表的函数,然后将结果串连起来。
scala> val nestedNumbers = List(List(1, 2), List(3, 4)) nestedNumbers: List[List[Int]] = List(List(1, 2), List(3, 4)) scala> nestedNumbers.flatMap(x => x.map(_ * 2)) res0: List[Int] = List(2, 4, 6, 8)
可以把它看做是“先映射后扁平化”的快捷操作:
scala> nestedNumbers.map((x: List[Int]) => x.map(_ * 2)).flatten res1: List[Int] = List(2, 4, 6, 8)
这个例子先调用map,然后可以马上调用flatten,这就是“组合子”的特征,也是这些函数的本质
相关文章推荐
- list列表获取当前行数据【WeX5】
- UC应用中心数据 HTML5应用添加近亿次
- iOS开发之邮件发送代码
- 深入浅出谈计算机语言的发展
- 代理反向传值
- C++中引用和指针的区别
- POJ 2533 Longest Ordered Subsequence (LIS)
- 日经春秋 20151008
- 交错正负数
- 1.Python标准库_正则表达式 (re包)
- JNLP(Java Web Start )(转)
- HttpClient
- 读取plist文件
- 压力测试工具
- 利用C#进行文件读写的方法选择总结
- 动手学习TCP:服务端状态变迁
- Algorithms—290.Word Pattern
- Android开发时遇到问题比较实用的工具和网站
- 装饰设计模式举例
- 后缀数组两种算法的分析比较