Class ByteStack

java.lang.Object
com.carrotsearch.hppc.ByteArrayList
com.carrotsearch.hppc.ByteStack
All Implemented Interfaces:
Accountable, ByteCollection, ByteContainer, ByteIndexedContainer, Preallocable, Cloneable, Iterable<ByteCursor>, RandomAccess

@Generated(date="2024-06-04T15:20:17+0200", value="KTypeStack.java") public class ByteStack extends ByteArrayList
A subclass of ByteArrayList adding stack-related utility methods. The top of the stack is at the ByteArrayList.size() - 1 element.
  • Constructor Details

    • ByteStack

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

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

      public ByteStack(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.
    • ByteStack

      public ByteStack(ByteContainer container)
      Create a stack by pushing all elements of another container to it.
  • Method Details

    • push

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

      public void push(byte e1, byte e2)
      Adds two bytes to the stack.
    • push

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

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

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

      public final void push(byte... 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(ByteContainer container)
      Pushes all elements from another container to the top of the stack.
    • pushAll

      public int pushAll(Iterable<? extends ByteCursor> 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 byte pop()
      Remove the top element from the stack and return it.
    • peek

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

      public static ByteStack from(byte... elements)
      Create a stack by pushing a variable number of arguments to it.
    • clone

      public ByteStack clone()
      Clone this object. The returned clone will reuse the same hash function and array resizing strategy.
      Overrides:
      clone in class ByteArrayList
    • removeAll

      public int removeAll(ByteLookupContainer c)
      Default implementation uses a predicate for removal.
      Specified by:
      removeAll in interface ByteCollection
      Returns:
      Returns the number of removed elements.
    • retainAll

      public int retainAll(ByteLookupContainer c)
      Default implementation uses a predicate for retaining.
      Specified by:
      retainAll in interface ByteCollection
      Returns:
      Returns the number of removed elements.
    • retainAll

      public int retainAll(BytePredicate predicate)
      Default implementation redirects to ByteCollection.removeAll(BytePredicate) and negates the predicate.
      Specified by:
      retainAll in interface ByteCollection
      Returns:
      Returns the number of removed elements.
    • toString

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