var arr = Array(1,2,3,4,5,6,7,8,9)
匿名函数的简写方式:
arr.map(x=>x*10)
arr.map(_*10)
arr.filter(x=x%20)
arr.filter(_%20)
arr.reduce((x+y)=>x+y)
arr.reduce(+)
将一个方法转换成一个新的函数
方法和函数是有区别的:
函数其实就是一个引用类型,他相当于new他的一个实例,在堆内存中开辟了一个空间,然后来引用他;方法相当于在方法区定义的一个方法;只有函数可以作为参数传入到方法里面。
def m(x)=x*x
m(5)=25
val arr=Array(1,2,3,4,5)
arr.map(m)=(1,4,9,16,25)
这里的m代表的是m _匿名函数
效果和arr.map(m ) 以及arr.map(x=>m(x)) 、arr.map(m())一样
arr.reduceLeft(+)
arr.reduce(+)
arr.reduceRight(-)
arr.fold(0)(+)=arr.reduce(+)
arr.fold(100)(+)
arr.foldLeft(0)(+)
arr.foldRight(0)(+)
arr.sorted
arr.sortWith((x,y)=>x<y) 升序排列
arr.sortBy(x=>x)
arr.sortBy(x=>x.toString)