java.util

接口
异常
错误
java.lang.Object
  继承者 java.util.AbstractCollection<E>
      继承者 java.util.AbstractList<E>
          继承者 java.util.Vector<E>
              继承者 java.util.Stack<E>
所有已实现的接口:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

public class Stack<E>
     
extends Vector<E>

Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 pushpop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。

首次创建堆栈时,它不包含项。

Deque 接口及其实现提供了 LIFO 堆栈操作的更完整和更一致的 set,应该优先使用此 set,而非此类。例如:

   Deque<Integer> stack = new ArrayDeque<Integer>();

从以下版本开始:
JDK1.0
另请参见:
序列化表格

字段摘要
 
从类 java.util.Vector 继承的字段
capacityIncrement, elementCount, elementData
 
从类 java.util.AbstractList 继承的字段
modCount
 
构造方法摘要
Stack()
          创建一个空堆栈。
 
方法摘要
 boolean empty()
          测试堆栈是否为空。
 E peek()
          查看堆栈顶部的对象,但不从堆栈中移除它。
 E pop()
          移除堆栈顶部的对象,并作为此函数的值返回该对象。
 E push(E item)
          把项压入堆栈顶部。
 int search(Object o)
          返回对象在堆栈中的位置,以 1 为基数。
 
从类 java.util.Vector 继承的方法
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
从类 java.util.AbstractList 继承的方法
iterator, listIterator, listIterator
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 
从接口 java.util.List 继承的方法
iterator, listIterator, listIterator
 

构造方法详细信息

Stack

public Stack()
创建一个空堆栈。

方法详细信息

push

public E push(E item)
把项压入堆栈顶部。其作用与下面的方法完全相同:
 addElement(item)

参数:
item - 压入堆栈的项。
返回:
item 参数。
另请参见:
Vector.addElement(E)

pop

public E pop()
移除堆栈顶部的对象,并作为此函数的值返回该对象。

返回:
堆栈顶部的对象( Vector 对象中的最后一项)。
抛出:
EmptyStackException - 如果堆栈为空。

peek

public E peek()
查看堆栈顶部的对象,但不从堆栈中移除它。

返回:
堆栈顶部的对象( Vector 对象的最后一项)。
抛出:
EmptyStackException - 如果堆栈为空。

empty

public boolean empty()
测试堆栈是否为空。

返回:
当且仅当堆栈中不含任何项时返回 true;否则返回 false

search

public int search(Object o)
返回对象在堆栈中的位置,以 1 为基数。如果对象 o 是堆栈中的一个项,此方法返回距堆栈顶部最近的出现位置到堆栈顶部的距离;堆栈中最顶部项的距离为 1。使用 equals 方法比较 o 与堆栈中的项。

参数:
o - 目标对象。
返回:
对象到堆栈顶部的位置,以 1 为基数;返回值 -1 表示此对象不在堆栈中。