函数进阶2

71 阅读1分钟

一:fitter函数

scala
 体验AI代码助手
 代码解读
复制代码
/* 高阶函数
  * fitter
  *     过滤
  *     fitter(函数)
  *     如果函数返回值为true,则元素保留下来

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

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

二:reduse函数

作用:reduce 是一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。它通过指定的二元操作(即取两个元素进行操作)对集合中的所有元素进行递归处理,并最终将其合并为一个值。

scala
 体验AI代码助手
 代码解读
复制代码
* reduce函数
*

 */
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

三:fold函数

作用:fold 是一种集合操作(与reduce类似),用于对集合中的元素进行聚合操作,返回一个单一的结果,需要提供一个初始的“种子”值

scala
 体验AI代码助手
 代码解读
复制代码
* flod函数:带初值的reduse
*

 */
def main(args: Array[String]): Unit = {

  val rst = Array(1,2,3).fold(10)((x,y)=>x+y)
  println(s"rst  = ${rst}") //16

四:sorted函数

scala
 体验AI代码助手
 代码解读
复制代码
//sorted

// 对数值元素排序:从小到大排序
val arr =  Array(-1,10,-2,1,2,3).sorted
arr.foreach(println)

// 对字符元素排序,字典排序
val arr2 = Array("zoom", "bus", "apple", "banana", "car").sorted
arr2.foreach(println)