Class ArrayStack<E>

  • Type Parameters:
    E - Type of component elements
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess

    public class ArrayStack<E>
    extends java.util.ArrayList<E>
    The Stack class represents a last-in-first-out (LIFO) stack of objects. It extends class Vector with five operations that allow a vector to be treated as a stack. The usual push and pop operations are provided, as well as a method to peek at the top item on the stack, a method to test for whether the stack is empty, and a method to search the stack for an item and discover how far it is from the top.

    The non thread-safe version of Stack.

    Since:
    1.0.0
    Author:
    Mercy
    See Also:
    ArrayList, Stack, Serialized Form
    • Field Summary

      • Fields inherited from class java.util.AbstractList

        modCount
    • Constructor Summary

      Constructors 
      Constructor Description
      ArrayStack()
      Creates an empty Stack.
      ArrayStack​(int initialCapacity)
      Constructs a new, empty stack with the specified initial capacity.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean empty()
      Tests if this stack is empty.
      E peek()
      Looks at the object at the top of this stack without removing it from the stack.
      E pop()
      Removes the object at the top of this stack and returns that object as the value of this function.
      E push​(E item)
      Pushes an item onto the top of this stack.
      int search​(java.lang.Object o)
      Returns the 1-based position where an object is on this stack.
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, forEach, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractList

        equals, hashCode
      • Methods inherited from class java.util.AbstractCollection

        containsAll, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, stream
      • Methods inherited from interface java.util.List

        containsAll, equals, hashCode
    • Constructor Detail

      • ArrayStack

        public ArrayStack()
        Creates an empty Stack.
      • ArrayStack

        public ArrayStack​(int initialCapacity)
        Constructs a new, empty stack with the specified initial capacity.
        Parameters:
        initialCapacity - the initial capacity of the stack.
        Throws:
        java.lang.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: ArrayList.add(Object)
        Parameters:
        item - the item to be pushed onto this stack.
        Returns:
        the item argument.
        See Also:
        ArrayList.add(Object)
      • 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 ArrayList object).
        Throws:
        java.util.EmptyStackException - if this stack is empty.
      • peek

        public E peek()
               throws java.util.EmptyStackException
        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 ArrayList object).
        Throws:
        java.util.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​(java.lang.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.