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)
}
}
长期招聘java,有找工作可以联系我,微信:caozhenhua1563