Class FastStack<T>

  • All Implemented Interfaces:
    Serializable, Cloneable

    public final class FastStack<T>
    extends Object
    implements Serializable, Cloneable
    A very simple unsynchronized stack. This one is faster than the java.util-Version, which is based on the synchronized java.util.Vector class.
    Author:
    Thomas Morgner
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      FastStack()
      Creates a new stack with an initial size and growth of 10 items.
      FastStack​(int size)
      Creates a new stack with an initial size and growth as specified.
    • Constructor Detail

      • FastStack

        public FastStack()
        Creates a new stack with an initial size and growth of 10 items.
      • FastStack

        public FastStack​(int size)
        Creates a new stack with an initial size and growth as specified.
        Parameters:
        size - the initial size and growth.
    • Method Detail

      • isEmpty

        public boolean isEmpty()
        Checks whether the stack is empty.
        Returns:
        true, if the stack is empty, false otherwise.
      • size

        public int size()
        Returns the number of elements in the stack.
        Returns:
        the stack size.
      • push

        public void push​(T o)
        Pushes a new object on the stack. Null-references are allowed.
        Parameters:
        o - the object, maybe null.
      • peek

        public T peek()
        Loads the top-most element from the stack, without removing it from the stack.
        Returns:
        the top-most object.
        Throws:
        EmptyStackException - if the stack is empty.
      • pop

        public T pop()
        Loads the top-most element from the stack and removes it from the stack at the same time.
        Returns:
        the top-most object.
        Throws:
        EmptyStackException - if the stack is empty.
      • clone

        public FastStack<T> clone()
        Creates a shallow copy of the stack.
        Overrides:
        clone in class Object
        Returns:
        the cloned stack.
      • clear

        public void clear()
        Removes all contents from the stack.
      • get

        public T get​(int index)
        Returns the element from the stack at the given index-position.
        Parameters:
        index - the element's index.
        Returns:
        the object.
        Throws:
        IndexOutOfBoundsException - if the index given is greater than the number of objects in the stack.