scala flatMap reduceLeft foldLeft

Posted 牵牛花

tags:

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

object collection_t1 {

  def flatMap1(): Unit = {
    val li = List(1,2,3)
    val res = li.flatMap(x => x match {
      case 3 => List(a,b)
      case _ => List(x*2)
    })
    println(res)
  }

  def map1(): Unit = {
    val li = List(1,2,3)
    val res = li.map(x => x match {
      case 3 => List(a,b)
      case _ => x*2
    })
    println(res)
  }

  def main(args: Array[String]): Unit = {
    flatMap1()
    map1()
  }
}

result: List(2, 4, a, b) List(2, 4, List(a, b))

flatMap就是在Map的基础上加了压平flatten的功能

foldLeft 从左边起折叠,累加 

https://alvinalexander.com/scala/scala-reduceleft-examples

讲解reduceleft

 

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

scala reduceleft和 foldleft的区别

scala map和flatMap

Scala - 无法解析符号 flatMap

在 Scala Akka 期货中,map 和 flatMap 有啥区别?

使用 Scala 在 Spark appln 中 FlatMap 一个可变列表

Scala map与flatMap