定义一个字面量函数
object inout59 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
val fn = (x:Int) => x*2
val arr1 = arr.map(fn)
for(i<-arr1){
println(i)
}
}
}
匿名函数
object inout59 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
val arr1 = arr.map(x=>x*2)
for(i<-arr1){
println(i)
}
}
}
object inout59 {
def main(args: Array[String]): Unit = {
val arr = Array(-1,2,-3,-4,5)
val arr1 = arr.map(x=>if(x>0) x else -x)
for(i<-arr1){
println(i)
}
}
}
数组
object inout60 {
def main(args: Array[String]): Unit = {
val arr = Array(-1,2,-3,-4,5)
arr.foreach(println)
}
}
reduce函数需要一个函数作为参数,这个函数接受两个相同类型的参数,并返回一个值
object inout62 {
def main(args: Array[String]): Unit = {
var arr = Array(1,2,3,4,5)
var sum = arr.reduce((x,y) => x + y)
println(sum)
}
}
fold:带初值的reduce
object inout63 {
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( )
println(min)
}
}
排序
object inout63 {
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( )
println(min)
}
}
sortWith函数
object inout66 {
def main(args: Array[String]): Unit = {
var arr = Array(-1,0,1,3,2)
var arr1 = arr.sortWith((a,b)=> Math.abs(a-3) < Math.abs(b-3))
arr1.foreach(println)
}
}