Module java.base
Package java.util

Class Stack<E>

  • All Implemented Interfaces:
    Serializable,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess

    public classStack<E>extendsVector<E>
    TheStack class represents a last-in-first-out (LIFO) stack of objects. It extends classVector with five operations that allow a vector to be treated as a stack. The usualpush andpop operations are provided, as well as a method topeek at the top item on the stack, a method to test for whether the stack isempty, and a method tosearch the stack for an item and discover how far it is from the top.

    When a stack is first created, it contains no items.

    A more complete and consistent set of LIFO stack operations is provided by theDeque interface and its implementations, which should be used in preference to this class. For example:

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

    Since:
    1.0
    See Also:
    Serialized Form
    • Constructor Detail

      • Stack

        public Stack()
        Creates an empty Stack.
    • Method Detail

      • push

        public E push​(E item)
        Pushes an item onto the top of this stack. This has exactly the same effect as:
         addElement(item)
        Parameters:
        item - the item to be pushed onto this stack.
        Returns:
        theitem argument.
        See Also:
        Vector.addElement(E)
      • pop

        public E pop()
        Removes the object at the top of this stack and returns that object as the value of this function.
        Returns:
        The object at the top of this stack (the last item of theVector object).
        Throws:
        EmptyStackException - if this stack is empty.
      • peek

        public E peek()
        Looks at the object at the top of this stack without removing it from the stack.
        Returns:
        the object at the top of this stack (the last item of theVector object).
        Throws:
        EmptyStackException - if this stack is empty.
      • empty

        public boolean empty()
        Tests if this stack is empty.
        Returns:
        true if and only if this stack contains no items;false otherwise.
      • search

        public int search​(Object o)
        Returns the 1-based position where an object is on this stack. If the objecto occurs as an item in this stack, this method returns the distance from the top of the stack of the occurrence nearest the top of the stack; the topmost item on the stack is considered to be at distance1. Theequals method is used to compareo to the items in this stack.
        Parameters:
        o - the desired object.
        Returns:
        the 1-based position from the top of the stack where the object is located; the return value-1 indicates that the object is not on the stack.