模块 java.base
 java.util

类 Stack<E>

类型参数:
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 堆栈操作,应优先使用此类。例如:

  
  Deque<Integer> stack = new ArrayDeque<Integer>(); 
自从:
1.0
参见:
  • 构造方法详细信息

    • Stack

      public Stack()
      创建一个空堆栈。
  • 方法详情

    • push

      public E  push(E  item)
      将一个项目推到这个堆栈的顶部。这与以下内容具有完全相同的效果:
       addElement(item)
      参数:
      item - 要推入此堆栈的项目。
      返回:
      item 参数。
      参见:
    • 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表示对象不在栈上。