1、定义一个高阶函数,按照指定的规则对集合里面的每个元素进行操作
比如: val arr = ArrayString
对集合中每个元素进行操作,得到集合每个元素的长度
val result = ArrayInt
object $08_Map {
def main(args: Array[String]): Unit = {
val arr = Array[String]("spark","hello","java","python")
val func = (x:String)=>{
x.length
}
val result = map(arr,func)
println(result.toBuffer)
}
def map(arr:Array[String],func:String=>Int)={
for (element<- arr) yield {
func(element)
}
}
}
2、定义一个高阶函数,按照指定的规则对集合中的所有元素进行聚合
val arr =ArrayInt
求得集合中的所有元素的和
val result = xx
object $09_Reduce {
def main(args: Array[String]): Unit = {
val arr =Array[Int](10,2,4,6,1,8,10)
var func = (agg:Int,curr:Int)=> agg+curr
println(reduce(arr,func))
}
def reduce(arr:Array[Int],func:(Int,Int)=>Int): Int ={
var tmp:Int = arr