Class FastStack<T>

java.lang.Object
org.pentaho.reporting.libraries.base.util.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:
  • Constructor Summary

    Constructors
    Constructor
    Description
    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.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Removes all contents from the stack.
    Creates a shallow copy of the stack.
    get(int index)
    Returns the element from the stack at the given index-position.
    boolean
    Checks whether the stack is empty.
    Loads the top-most element from the stack, without removing it from the stack.
    pop()
    Loads the top-most element from the stack and removes it from the stack at the same time.
    void
    push(T o)
    Pushes a new object on the stack.
    int
    Returns the number of elements in the stack.
     

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object