Welcome 微信登录

首页 / 软件开发 / JAVA / Java集合学习(七)Stack详细介绍(源码解析)和使用示例

Java集合学习(七)Stack详细介绍(源码解析)和使用示例2014-08-03学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。

第1部分 Stack介绍

Stack简介

Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。

java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的,而非链表。当然,我们也可以将LinkedList当作栈来使用!

Stack的继承关系

java.lang.Object java.util.AbstractCollection<E>java.util.AbstractList<E>java.util.Vector<E>java.util.Stack<E> public class Stack<E> extends Vector<E> {}
Stack和Collection的关系如下图:

Stack的构造函数

Stack只有一个默认构造函数,如下:

Stack()
Stack的API

Stack是栈,它常用的API如下:

            boolean       empty()
synchronized E             peek()
synchronized E             pop()
            E             push(E object)
synchronized int           search(Object o)
由于Stack和继承于Vector,因此它也包含Vector中的全部API。