Scala map与flatMap

Posted abcdwxc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala map与flatMap相关的知识,希望对你有一定的参考价值。

1. map函数
  对集合的每一个元素运用某个函数操作,然后将结果作为一个新的列表返回。

 实例1:将列表中每个元素值乘以2 

scala> val list1=List(1,2,3,4)
list1: List[Int] = List(1, 2, 3, 4)

 

scala> list1.map(_*2)
res54: List[Int] = List(2, 4, 6, 8)
另一种写法:
scala> list1.map(x=>x*2)
res55: List[Int] = List(2, 4, 6, 8)

 实例2:分隔字符

scala> val l=List("jack","joe","terry","jerry")
l: List[String] = List(jack, joe, terry, jerry) 

 

scala> l.map(_.split(" "))
res20: List[Array[String]] = List(Array(jack), Array(joe), Array(terry), Array(jerry)) 

2.flatMap 函数

 对集合中每个元素运用某个函数操作后,将结果扁平化组成一个新的集合。

实例1:分隔字符 

scala> val l=List("jack","joe","terry","jerry") 

l: List[String] = List(jack, joe, terry, jerry)

scala> l.flatMap(_.split(" ")) 
res21: List[String] = List(jack, joe, terry, jerry) 

注意:map分隔符操作返回的类型为 List[Array[String]],而flatMap分隔操作返回的类型为 List[String] 

以上是关于Scala map与flatMap的主要内容,如果未能解决你的问题,请参考以下文章

Scala编程入门---Map与Tuple

scala的 collect和map

Scala笔记整理:Scala数据结构—数组map与tuple

CSV等类型文件与Map互相转换(Scala)

Scala spark 如何与 List[Option[Map[String, DataFrame]]] 交互

scala 基础六 scala Map和元组的操作