高阶函数

29 阅读1分钟

将(-1,2,-3,-4)变成(1,2,3,4)

map是一个高阶函数,因为他的参数类型是函数 没必要去单独定义一个函数fn,这里直接写在map函数内。此时,他就是一个匿名函数

object Base48 {

  def main(args: Array[String]): Unit ={
    val arr = Array(-1,2,-3,-4)
    val arr1 = arr.map( x=> if(x>0) x else -x)

    for(i <- arr1){
      println(i)
    }
  }

}

判断是否为偶数:(1,2,3,4,5)

x%2 == 0 用来判断是否为偶数

object Base49 {
  def main(args: Array[String]): Unit ={
    val arr = Array(1,2,3,4,5)
    val arr1 = arr.filter( x => x%2 == 0)

    arr1.foreach(println)
  }

}

reduce 聚合

object Base50 {
  def main(args: Array[String]): Unit ={
    val arr = Array(1,2,3,4,5)
    val sum = arr.reduce((x,y) => x+y)

    println(sum)

  }  
}

计算最大值,最小值

object Base51 {
  def main(args: Array[String]): Unit = {
    val arr = Array(-1,20,30,14)

    val max = arr.reduce((x,y) => if (x > y) x else y)

    println(max)

    val min = arr.reduce((x,y) => if (x < y) x else y )

    println(min)
  }
}

求和

object Base52 {
  def main(args: Array[String]): Unit = {
    var arr = Array(1,2,3)

    val sum1 = arr.fold(100)((x,y) => x+y)
    println(sum1)

  }
}