模块  java.base
软件包  java.util

Class Stack<E>

  • 实现的所有接口
    SerializableCloneableIterable<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
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • 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表示该对象不在堆栈中。