1.高阶函数
object class3 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
val fn = (x:Int) => x*2 //fn是一个字面量函数
val arr1 = arr.map( fn ) //map是一个高阶函数,因为它的参数类型是函数!
// 用for循环输出
for(i <- arr1){
println(i)
}
}
}
2.匿名函数
object class3 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
// val fn = (x:Int) => x*2 //fn是一个字面量函数
//val arr1 = arr.map( fn ) //map是一个高阶函数,因为它的参数类型是函数!
// 没必要去单独定义一个函数fn,这里直接写在map函数内,此时,它就是一个匿名函数
val arr1 = arr.map(x => x * 2)
// 用for循环输出
for(i <- arr1){
println(i)
}
}
}
object class4 {
def main(args: Array[String]): Unit = {
val arr = Array(-1,2,-3,-4,5)
arr.foreach(println)
}
}
object class4 {
def main(args: Array[String]): Unit {
val arr = Array(1,2,3,4,5)
// x%2 == 0用来判断是否为偶数
val arr1 = arr.filter({x -> x%2 == 0})
arr1.foreach(println)
}
}
object class4 {
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 class4 {
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)
// var s = arr.sum
val min = arr.reduce((x, y) => if (x < y) x else y )
println(min)
}
}
object class5 {
def main(args: Array[String]): Unit = {
var arr = Array(-1, 20, 3, 2, 30)
// 排序
var arr1 = arr.sorted // 对于数值类型的数据,从小到大升序排列
var arr2 = Array("banana", "zip", "b", "a", "apple")
// 排序
var arr3 = arr2.sorted // 对于字符类型的数组,按照字母表的顺序排序
arr3.foreach(println)
}
}