1.Map
将用:转换数据
var arr=Array(1 to 10 :_*)
arr.foreach(println)
arr.map((n:Int) => n*2) //给map一个匿名函数,将map遍历的每一个值x2 会返回一个arr
res1: Array[Int] = Array(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
map当中的形参n通常可以使用 "_" 来替代
arr.map(_*2)
res1: Array[Int] = Array(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
2.filter
作用:过滤数据
arr.filter((n:Int) => n%2 ==0)
arr.filter(_%2 ==0)
res0: Array[Int] = Array(2, 4, 6, 8, 10)
//反向过滤
arr.filterNot((n:Int) => n<8)
arr.filterNot(_n<8)
res0: Array[Int] = Array(8, 9, 10)
3.reduce
作用:聚合数据
arr.sum
arr.reduce((n:Int,m:Int) =>m+n)
arr.reduce( _ + _)
res0: Int = 55
res1: Int = 55
res2: Int = 55
《快学Scala》高清中文PDF+源代码
提取码:an5d