码迷,mamicode.com
首页 > 其他好文 > 详细

Scala中List和ListBuffer设计实现思考

时间:2015-08-13 00:59:51      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

今日【DT大数据梦工厂视频】《第84讲:Scala中List和ListBuffer设计实现思考》
51CTO视频:http://edu.51cto.com/lesson/id-71363.html
土豆视频:http://www.tudou.com/programs/view/9vOkwWDGF6M/
(DT大数据梦工厂1至84讲scala的所有视频、PPT和代码在百度云盘的链接:http://url.cn/fSFPjS)
百度云盘:http://pan.baidu.com/s/1c0FGBzq
360云盘:http://yunpan.cn/cdRp6eTd95umJ 访问密码 45c3
腾讯微云:http://url.cn/cF431X
scala list 内部很多操作是listbuffer做的,因为改变元素,listbuffer非常高效,
我们看见tl是var类型的 ,但是他属于scala包及子包,我们看上去是可变的,但是由于
包 的限制我们看不到。
list列表 追加元素,如果tl前面没有 private[scala],可以改变除了第一个元素,其他所有元素构建的list,
因为我们有同样的 tl,追加不同的元素,构造不同的列表,可以共享case class ::,
操作尾部的列表 ,指向同样的数据结构。
如果是完全对外 开发的,由于tl元素不可控,对共享就很麻烦。
listbuffer有start,last0,把 元素内容作为start,从后面追加,
我们既要保证元素的高效性,又要 外部是 函数 试的风格,所以用private[scala] var
listbuffer是scala子包的内容,所以可以访问和修改list,而外部是private的,其他的对象
不可以修改 list,这样就保证了其既能可变,又有函数式风格。

Scala中List和ListBuffer设计实现思考

标签:

原文地址:http://www.cnblogs.com/trgaaaaa/p/4725874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!