Scala中List的Scala中List和ListBuffer设计实现

时间:2021-12-05 03:56:18

学习了ScalaListScalaListListBuffer设计实现思考scala list 内部很多操作是listbuffer做的,因为改变元素,listbuffer非常高效,我们看见tlvar类型的  ,但是他属于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

Scala中List的Scala中List和ListBuffer设计实现