数据结构复习之线性表、栈和队列 (下)

来源:互联网 发布:文件恢复软件 免费版 编辑:程序博客网 时间:2024/06/06 02:37

        下面再看看Java中有哪些线性表可以用。先来说说Vector和ArrayList,他们同样继承自AbstractList,都是变长数组,但不同的是Vector是同步的,ArrayList不是。从接口来看,凡是ArrayList有的Vector都有,Vector有的,ArrayList不一定有,所以可以得出结论ArrayList兄弟可退休了。Vector有一个Stack子类,接口不多,因此栈可以直接用Stack了。Java中的链表叫做LinkedList,是AbstractSequentialList的子类,AbstractSequentialList才和Vector,ArrayList等同级,继承自AbsractList。具体的继承关系如下,接口太多,不做总结了:


java.lang.Object
  java.util.AbstractCollection<E>
      java.util.ArrayDeque<E>
      java.util.AbstractList<E>
          java.util.Vector<E>
              java.util.Stack<E>
          java.util.ArrayList<E>
          java.util.AbstractSequentialList<E>
              java.util.LinkedList<E>