国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php框架 > 框架设计 > 大数据系列修炼-Scala课程37

大数据系列修炼-Scala课程37

来源:程序员人生   发布时间:2016-09-27 09:10:12 阅读次数:3049次

大数据系列修炼-Scala课程37


核心内容:
1、List的foldLeft、foldRight、sort操作代码实战


1、List的foldLeft、foldRight、sort操作代码实战

1>foldLeft:函数体履行两元素相加从左到右:即从1开始 foldRight:函数体履行两元素相减从右到左:即从3开始
2>scala中的sortWith排序算法的效力还是很高的,为线性


实例程序:

//本程序是为了测试List中foldLeft、foldRight、sort操作代码实战 object App { //本节的重点是掌握List集合更重要的1些操作 def main(args:Array[String]):Unit= { val list = List(1,2,3) var sum = 0 list.foreach((x:Int)=>sum+=x) //将函数作用在具体的数值上面 println(sum) //z为初始值 println(list.foldLeft(0)(_+_)) //(3+(2+(1+0))) //函数体履行两元素相加从左到右:即从1开始 println((0/:(1 to 3))(_+_)) //6 println(list.foldRight(2)(_-_)) //(1-(2-(3-2))) //函数体履行两元素相减从右到左:即从3开始 println(((1 to 3 ):\2)(_-_)) //2 //sortWith排序算法的效力还是很高的 val list2 = list.sortWith((x,y)=>x<y) //如果变量在=>的右边只出现1次,则可以用占位符替换它 println(list2.mkString("[", "\t", "]")) //[1 2 3] val list3 = list.sortWith(_>_) //如果变量在=>的右边只出现1次,则可以用占位符替换它 println(list3.mkString("[", "\t", "]")) //[3 2 1] } }

如有问题,欢迎留言指正!

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生