Class ObjectStack<KType>

java.lang.Object
com.carrotsearch.hppc.ObjectArrayList<KType>
com.carrotsearch.hppc.ObjectStack<KType>
All Implemented Interfaces:
Accountable, ObjectCollection<KType>, ObjectContainer<KType>, ObjectIndexedContainer<KType>, Preallocable, Cloneable, Iterable<ObjectCursor<KType>>, RandomAccess

@Generated(date="2024-06-04T15:20:17+0200", 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>
    • removeAll

      public int removeAll(ObjectLookupContainer<? super KType> c)
      Default implementation uses a predicate for removal.
      Specified by:
      removeAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • retainAll

      public int retainAll(ObjectLookupContainer<? super KType> c)
      Default implementation uses a predicate for retaining.
      Specified by:
      retainAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • retainAll

      public int retainAll(ObjectPredicate<? super KType> predicate)
      Default implementation redirects to ObjectCollection.removeAll(ObjectPredicate) and negates the predicate.
      Specified by:
      retainAll in interface ObjectCollection<KType>
      Returns:
      Returns the number of removed elements.
    • toArray

      public <T> T[] toArray(Class<T> componentClass)
      Description copied from interface: ObjectContainer
      Copies all elements of this container to a dynamically created array of the given component type.
      Specified by:
      toArray in interface ObjectContainer<KType>
    • toString

      public String toString()
      Convert the contents of this container to a human-friendly string.
      Overrides:
      toString in class Object
    • equals

      protected boolean equals(Object v1, Object v2)