Scala中List的Scala中List和ListBuffer设计实现
2015-08-13 06:50
375 查看
学习了Scala中List的Scala中List和ListBuffer设计实现思考,scala list 内部很多操作是listbuffer做的,因为改变元素,listbuffer非常高效,我们看见tl是var类型的 ,但是他属于scala包及子包,我们看上去是可变的,但是由于包 的限制我们看不到。
list列表 追加元素,如果tl前面没有 private[scala],可以改变除了第一个元素,其他所有元素构建的list,因为我们有同样的 tl,追加不同的元素,构造不同的列表,可以共享case class ::,操作尾部的列表 ,指向同样的数据结构。
例子如下
Final case class :: [B](private var hd:B,private[scala] val tl: List[B])extend list[B]{
Override def head :B=hd
Override def tail : List[B]=tl
Override def isEmpty: Boolean= fales}
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第84讲:Scala中List和ListBuffer设计实现思考
百度云盘:http://pan.baidu.com/s/1c0FGBzq
360云盘:http://yunpan.cn/cdRp6eTd95umJ 访问密码 45c3
腾讯微云:http://url.cn/cF431X
list列表 追加元素,如果tl前面没有 private[scala],可以改变除了第一个元素,其他所有元素构建的list,因为我们有同样的 tl,追加不同的元素,构造不同的列表,可以共享case class ::,操作尾部的列表 ,指向同样的数据结构。
例子如下
Final case class :: [B](private var hd:B,private[scala] val tl: List[B])extend list[B]{
Override def head :B=hd
Override def tail : List[B]=tl
Override def isEmpty: Boolean= fales}
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第84讲:Scala中List和ListBuffer设计实现思考
百度云盘:http://pan.baidu.com/s/1c0FGBzq
360云盘:http://yunpan.cn/cdRp6eTd95umJ 访问密码 45c3
腾讯微云:http://url.cn/cF431X
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【117-Populating Next Right Pointers in Each Node(二叉树链接右指针II)】
- 修改NavigationBar样式
- Getting ‘java.net.UnknownHostException: LAPTOP-23876346: nodename nor servname provided, or not know
- html学习笔记(11)
- CSS的盒子模式和漂浮
- CSS 去除浏览器默认 轮廓外框
- 用JavaScript实现PHP的urlencode与urldecode函数
- javascript fundamental concept
- CSS3学习笔记<1>
- Jquery mobile
- AngularJS开发指南05:指令
- 纯CSS3制作卡通场景汽车动画效果
- 【转载】Caffe (Convolution Architecture For Feature Extraction)
- jQuery.serialize()函数
- mysql游标的使用 No data - zero rows fetched, selected
- 用JavaScript实现PHP的urlencode与urldecode函数
- javascript中offset、client、scroll的属性总结
- javascript获取本机操作系统类型的方法
- 深入学习JavaScript中的原型prototype
- js实现仿Discuz文本框弹出层效果