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的APIStack是栈,它常用的API如下: boolean empty()
synchronized E peek()
synchronized E pop()
E push(E object)
synchronized int search(Object o)
由于Stack和继承于Vector,因此它也包含Vector中的全部API。