scala map和flatMap
Posted 充实自己
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala map和flatMap相关的知识,希望对你有一定的参考价值。
map和flatMap
scala> val a = Seq(1,2,3,6,4) a: Seq[Int] = List(1, 2, 3, 6, 4) scala> val b = a.flatMap(f=>{ | try{ | Some(f/(f-1)) | }catch{ | case e:Exception=>None | } | }) b: Seq[Int] = List(2, 1, 1, 1) scala> val b = a.map(f=>{ | try{ | Some(f/(f-1)) | }catch{ | case e:Exception=>None | } | }) b: Seq[Option[Int]] = List(None, Some(2), Some(1), Some(1), Some(1))
flatMap类型需要一致
scala> val d = a.flatMap(f=>{ | try{ | f/(f-1) | }catch{ | case e:Exception=>None | } | }) <console>:33: error: type mismatch; found : Int required: scala.collection.GenTraversableOnce[?] f/(f-1) ^ scala> val d = a.map(f=>{ | try{ | f/(f-1) | }catch{ | case e:Exception=>None | } | }) d: Seq[Any] = List(None, 2, 1, 1, 1)
以上是关于scala map和flatMap的主要内容,如果未能解决你的问题,请参考以下文章
如何使用`flatMap`和`map`填充Play框架+ Scala上的`list`?
2021年大数据常用语言Scala(二十三):函数式编程 扁平化映射 flatMap