数组

18 阅读1分钟
object Base53 {
  def main(args: Array[String]): Unit = {
   var arr = Array(1,2,3,4,5)
    var fn = (x:Int) => x * 2
    val arr1 = arr.map(fn)
    for(i <- arr1) {
      println(i)
    }
  }

}

1.把数组中每个元素都打印出来

foreach

object Base56 {
  def main(args: Array[String]): Unit = {
  val arr = Array(-1,2,-3,-4,5)
    arr.foreach(println)
  }

}

1.把数组中的偶数保留下来,数组新数组

filter: 过滤

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

object Base57 {
  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 Base58 {
  def main(args: Array[String]): Unit = {
var arr = Array(1,2,3,4,5)
    var sum = arr.reduce((x,y) => x + y)
    // var s = arr.sum
    println(sum)
  }

}
object Base59 {
  /**
   * reduce: 聚合。
   */
  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) x else y)
    println(min)
  }
}
object Base60 {
  def main(args: Array[String]): Unit = {
    val arr = Array(1, 2, 3)
    // fold 方法:带初始值的聚合操作,初始值为 100,操作逻辑为累加
    val sum1 = arr.fold(100)((x, y) => x + y)
    println(sum1) // 输出:106(计算过程:100 + 1 + 2 + 3)
  }
}