高阶函数的定义
一种特殊的函数,它的参数或者返回值是函数类型
map函数
作用:通过对数组的每一个元素应用一个函数来构建一个新数组。
语法: 新数组 = 旧数组.map(旧元素=>新元素)
代码示例
def main (args: Array[String]): Unit = {
val arr1 = Array(1,2,3,4,5,6)
// Array 是一个构造器,用来定义一个数组
// arr1 就是一个数组对象,它有很多的方法,其中就有map
// for 循环来输出数组中的每个元素
val fn = (x:Int) => x * 2
// fn是一个函数,它被传给了map。map是一个高阶函数
val arr2 = arr1.map(fn)
for(i <- arr2){
println(i)
}
}
案例
[练] :把(1,2,3,4,5) → (1,4,9,16,25)
def main (args: Array[String]): Unit = {
val arr1 = Array(1,2,3,4,5)
val fn = (x:Int) => x * x
val arr2 = arr1.map(fn)
for(i <- arr2){
println(i)
}
}
[练] :把(-1,2,-3,-4) → (1,2,3,4)
def main (args: Array[String]): Unit = {
val arr1 = Array(-1,2,-3,-4)
// 绝对值
val fn = (x:Int) => if(x>0) x else -x
val arr2 = arr1.map(fn)
for(i <- arr2){
println(i)
}
}
foreach函数
作用:对数组的每一个元素应用函数。
语法:数组.foreach(元素=>{})
/*
foreach
是数组的每一个元素都执行一次 函数
*/
def main (args: Array[String]): Unit = {
// 把数值为偶数的留下来
val arr1 = Array(1,2,3,4,5)
arr1.foreach(print)
arr1.foreach(println)
}