Module  java.base
软件包  java.util

Class Stack<E>

  • All Implemented Interfaces:
    SerializableCloneableIterable<E>Collection<E>List<E>RandomAccess


    public class Stack<E>
    extends Vector<E>
    Stack类代表最先进先出(LIFO)堆栈的对象。 它扩展了类Vector与五个操作,允许一个向量作为一个堆栈。 通常pushpop设置操作,以及作为一种方法来peek在堆栈,以测试堆栈是否为一个方法在顶部项目empty ,以及一种方法search堆栈一个项目,并发现多远它是从顶部。

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

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

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