Class ArrayStack<E>

  • Type Parameters:
    E - the type of elements in the stack
    All Implemented Interfaces:
    Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

    public class ArrayStack<E>
    extends ArrayList<E>

    Provides a simple unsynchronized stack based on ArrayList instead of Vector. This class implements the exact same methods as Stack and is therefore easily interchangeable with the former. However, ArrayDeque should for most purposes be used instead of this class.

    See Also:
    Deque, Serialized Form
    • Constructor Detail

      • ArrayStack

        public ArrayStack()
        Constructs an empty stack with an initial capacity of ten.
      • ArrayStack

        public ArrayStack​(Collection<? extends E> c)
        Constructs a stack containing the elements of the specified collection, in the order they are returned by the collection's iterator.
        Parameters:
        c - the collection whose elements are to be placed into this stack
        Throws:
        NullPointerException - if the specified collection is null
      • ArrayStack

        public ArrayStack​(int initialCapacity)
        Constructs an empty stack with the specified initial capacity.
        Parameters:
        initialCapacity - the initial capacity of the stack
        Throws:
        IllegalArgumentException - if the specified initial capacity is negative
    • Method Detail

      • push

        public E push​(E item)
        Pushes an item onto the top of this stack. This has exactly the same effect as:
        add(item)
        Parameters:
        item - the item to be pushed onto this stack.
        Returns:
        the item argument.
        See Also:
        ArrayList.add(E, java.lang.Object[], int)
      • 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 the List 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 the List 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 object o 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 distance 1. The equals method is used to compare o 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.