首页 > 其他 > 详细

Scala深入浅出实战经典 第82讲:Scala中List的ListBuffer是如何实现高效的遍历计算的?

时间:2015-09-11 12:49:46      阅读:318      评论:0      收藏:0      [点我收藏+]

package com.dt.scala.list


object ListBuffer_Internals {


  def main(args: Array[String]) {

    val list = List(1,2,3,4,5,6,7,8,9)

    increment(list)

    increment_MoreEffective(list)

    increment_MostEffective(list)

  }

  

  def increment(list: List[Int]): List[Int] = list match {

      case List() => List()

      case head :: tail => head + 1 :: increment(tail)

    }

  def increment_MoreEffective(list: List[Int]): List[Int] = {

    var result = List[Int]()

    for(element <- list) result = result ::: List(element +1)

    result

  }

  def increment_MostEffective(list: List[Int]): List[Int] = {

    import scala.collection.mutable.ListBuffer

    var buffer = new ListBuffer[Int]

for(element <- list) buffer += element + 1

buffer.toList

  }


}


3种方法:

1. 产生了过多函数调用的堆栈
2. 产生了很多中间结果
3. 最优


信息来源于 DT大数据梦工厂,微信公众号:DT_Spark
视频地址:http://edu.51cto.com/lesson/id-71305.html

Scala深入浅出实战经典 第82讲:Scala中List的ListBuffer是如何实现高效的遍历计算的?

原文:http://2615187.blog.51cto.com/2605187/1693688

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!