java 集合系列目录:
Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例
Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例
Java 集合系列 05 Vector详细介绍(源码解析)和使用示例
Java 集合系列 06 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。
第2部分 Stack源码解析(基于JDK1.7.0_45)
Stack的源码非常简单,下面我们对它进行学习。
转载:http://www.cnblogs.com/skywang12345/p/3308852.html