数组

34 阅读1分钟

filter:过滤

filter(函数fn),如果fn的返回值为true,就保留这个元素

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)
}

输出结果

image.png

def main(args: Array[String]): Unit = {
  val arr=Array(60,59,80,70)
  val arr1=arr.filter(x=>x>=60)
  arr1.foreach(println)
}

输出结果

image.png

reduce :聚合

reduce函数需要一个函数作为参数,这个函数接受俩个相同类型的参数,并返回一个值。

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

  println(sum)
}

输出结果

image.png

def main(args: Array[String]): Unit = {
  var 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) y else x)
  println(min)


}

输出结果

image.png

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


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

  println(sum1)
}

输出结果

image.png

sorted函数:对元素进行排序。它会·直接使用元素自身的自然顺序进行排序

def main(args: Array[String]): Unit = {
  var arr = Array(-1,20,2,3,50)
  var arr1=arr.sorted

  var arr2=Array("banana","zip","b","a","apple")

  var arr3=arr2.sorted
  arr1.foreach(println)
  arr3.foreach(println)
}

输出结果

image.png