程序员人生 网站导航

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

栏目:框架设计时间:2016-09-27 09:10:12

大数据系列修炼-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] } }

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

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐