scala/특히 spark에서 작업하다가 혼동되는 게 flatmap이다.
먼저 map을 살펴보면 컬렉션이 Opion 타입이라면 List(Option) 작업을 강제로 진행해야 한다.
scala> List(Some(1),Some(2),None).map{case Some(x) => x*2 case None => 0 }
res21: List[Int] = List(2, 4, 0)
컬렉션 flatMap을 사용하기만 하면 Option을 모두 정리한다.
scala> List(Some(1),Some(2),None).flatMap(x => x)
res27: List[Int] = List(1, 2)
'scala' 카테고리의 다른 글
[scala] 컬렉션의 padTo 예제 (0) | 2017.03.13 |
---|---|
[scala] mkString 예제 (0) | 2017.03.13 |
컬렉션의 forall과 exists 메소드 (0) | 2017.03.13 |
[Akka] invalid ActorSystem name Exception 해결하기 (0) | 2017.03.13 |
[play2] play2(guice) + kafka 0.10.1.1 sample (0) | 2017.03.10 |