filter的用法

36 阅读1分钟
 /**
   * filter
   *   过滤器
   *   filter(函数)
   *   如果函数的返回值为True, 则元素被保留下来
   *
   */

  def main(args: Array[String]): Unit = {
    // 把数值为偶数的留下来
    val arr1 = Array(1,2,3,4,5)
//    val arr2 = arr1.filter(x=> {
//     // println(x)
//     x%2 == 0
//   })
    val arr2 = arr1.filter(x => x%2==0)
    arr2.foreach(println)

    var score = Array(90,98,60,49,100)
    // 把小于80分的值去掉。只保留大于80分的分数
    score.filter(x =>80).foreach(println)

元素累加

def main(args: Array[String]): Unit = {
  
  val arr = Array(1,2,3,4,5)
  // 求数组元素的累加
  val rst = arr.reduce( (x,y)=> x + y )
  
  //val rst = arr.sum
  
  println(s"rst = ${rst}")

reduce 用法

// reduce ==== reduceLeft  从左往右计算
//             reduceRight 从右往左计算
def main(args: Array[String]): Unit = {
  
  val arr = Array(1,2,3)
  val rst = arr.reduceLeft( (x,y)=> x - y )
  
  val rst1 = Array(1,2,3,4).reduceRight( (x,y)=> x - y )
  
  println(s"rst = ${rst}")
  println(s"rst = ${rst1}"