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)
  }
val m = Array(1, 2, 3, 4, 5, 6, 7, 343, 23).reduceLeft((x, y) => {
if (x < y) {
y
} else {
x
}
})
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

1.reudceLeft和foldLeft最大的区别就是foldLeft有一个初始值,,也就是说foldLeft比reduceLeft更灵活
2.foldLeft 可以引入其他类型

 

scala flatMap reduceLeft foldLeft

scala flatMap reduceLeft foldLeft

scala flatMap reduceLeft foldLeft

 

相关文章:

  • 2021-06-20
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
  • 2021-11-19
  • 2021-10-07
  • 2021-11-29
猜你喜欢
  • 2021-09-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案