jdk1.8之后,也加入了Lambda表达式,自然也支持map函数。
scala中这两个函数的用法。有一种观点认为将map和flatMap说成Scala函数机制的核心这不过分(在后期开发中会很常用到)。因为实际中我们使用最多的场景就是对数据进行map操作或者flatMap操作。map函数的用法,顾名思义,将一个函数传入map中,然后利用传入的这个函数,将集合中的每个元素处理,并将处理后的结果返回。而flatMap与map唯一不一样的地方就是传入的函数在处理完后返回值必须是List,其实这也不难理解,既然是flatMap,那除了map以外必然还有flat的操作,所以需要返回值是List才能执行flat这一步。
val l1 = List(1,3,4)
val reslut = l1.flatMap(x => x match {
case 3 => List(2,3)})
val l2 = List(1,3,4)
val reslut = l2.map(x => x match {
case 3 => List(2,3)}
结果:List(1,2,3,4)
List(1,List(2,3),4)