Class ObjectStack<KType>

All Implemented Interfaces:
ObjectCollection<KType>, ObjectContainer<KType>, ObjectIndexedContainer<KType>, Preallocable, Cloneable, Iterable<ObjectCursor<KType>>, RandomAccess

@Generated(date="2024-02-21T10:44:44+0000", value="KTypeStack.java") public class ObjectStack<KType> extends ObjectArrayList<KType>
A subclass of ObjectArrayList adding stack-related utility methods. The top of the stack is at the ObjectArrayList.size() - 1 element.
  • Constructor Details

    • ObjectStack

      public ObjectStack()
      New instance with sane defaults.
    • ObjectStack

      public ObjectStack(int expectedElements)
      New instance with sane defaults.
      Parameters:
      expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
    • ObjectStack

      public ObjectStack(int expectedElements, ArraySizingStrategy resizer)
      New instance with sane defaults.
      Parameters:
      expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
      resizer - Underlying buffer sizing strategy.
    • ObjectStack

      public ObjectStack(ObjectContainer<KType> container)
      Create a stack by pushing all elements of another container to it.
  • Method Details

    • push

      public void push(KType e1)
      Adds one Object to the stack.
    • push

      public void push(KType e1, KType e2)
      Adds two Objects to the stack.
    • push

      public void push(KType e1, KType e2, KType e3)
      Adds three Objects to the stack.
    • push

      public void push(KType e1, KType e2, KType e3, KType e4)
      Adds four Objects to the stack.
    • push

      public void push(KType[] elements, int start, int len)
      Add a range of array elements to the stack.
    • push

      @SafeVarargs public final void push(KType... elements)
      Vararg-signature method for pushing elements at the top of the stack.

      This method is handy, but costly if used in tight loops (anonymous array passing)

    • pushAll

      public int pushAll(ObjectContainer<? extends KType> container)
      Pushes all elements from another container to the top of the stack.
    • pushAll

      public int pushAll(Iterable<? extends ObjectCursor<? extends KType>> iterable)
      Pushes all elements from another iterable to the top of the stack.
    • discard

      public void discard(int count)
      Discard an arbitrary number of elements from the top of the stack.
    • discard

      public void discard()
      Discard the top element from the stack.
    • pop

      public KType pop()
      Remove the top element from the stack and return it.
    • peek

      public KType peek()
      Peek at the top element on the stack.
    • from

      @SafeVarargs public static <KType> ObjectStack<KType> from(KType... elements)
      Create a stack by pushing a variable number of arguments to it.
    • clone

      public ObjectStack<KType> clone()
      Clone this object. The returned clone will reuse the same hash function and array resizing strategy.
      Overrides:
      clone in class ObjectArrayList<KType>