您的位置:首页 > 其它

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,这就是“组合子”的特征,也是这些函数的本质
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: