Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘

Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘

package com.parllay.scala.dataset

/**
* Created by richard on 15-7-25.
* 第41讲:List继承体系实现内幕和方法操作源码揭秘
*/
object List_Interal {

def main(args: Array[String]) {

/**
* List: 继承体系:
* list有两个子类 Nil, ::, 他们都实现了
* override def head : B = hd
override def tail : List[B] = tl
override def isEmpty: Boolean = false

这些方法. List 是不可变的, 所以在多线程中是安全的.
另外它的访问时间是 o(n)

List 是sealed abstract : 这有两个作用:

其修饰的trait,class只能在当前文件里面被继承
用sealed修饰这样做的目的是告诉scala编译器在检查模式匹配的时候,让scala知道这些case的所有情况,
scala就能够在编译的时候进行检查,看你写的代码是否有没有漏掉什么没case到,减少编程的错误。
*/
val list: List[Int] = List(1, 3, 4, 5, 6)

}

}
posted @ 2015-07-26 19:45  曹振华  阅读(301)  评论(0编辑  收藏  举报