Package com.carrotsearch.hppc
Class ByteStack
- java.lang.Object
-
- com.carrotsearch.hppc.ByteArrayList
-
- com.carrotsearch.hppc.ByteStack
-
- All Implemented Interfaces:
ByteCollection
,ByteContainer
,ByteIndexedContainer
,Preallocable
,java.lang.Cloneable
,java.lang.Iterable<ByteCursor>
,java.util.RandomAccess
@Generated(date="2021-05-28T03:45:41+0000", value="KTypeStack.java") public class ByteStack extends ByteArrayList
A subclass ofByteArrayList
adding stack-related utility methods. The top of the stack is at the
element.ByteArrayList.size()
- 1
-
-
Field Summary
-
Fields inherited from class com.carrotsearch.hppc.ByteArrayList
buffer, elementsCount, EMPTY_ARRAY, resizer
-
-
Constructor Summary
Constructors Constructor Description ByteStack()
New instance with sane defaults.ByteStack(int expectedElements)
New instance with sane defaults.ByteStack(int expectedElements, ArraySizingStrategy resizer)
New instance with sane defaults.ByteStack(ByteContainer container)
Create a stack by pushing all elements of another container to it.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteStack
clone()
Clone this object.void
discard()
Discard the top element from the stack.void
discard(int count)
Discard an arbitrary number of elements from the top of the stack.static ByteStack
from(byte... elements)
Create a stack by pushing a variable number of arguments to it.byte
peek()
Peek at the top element on the stack.byte
pop()
Remove the top element from the stack and return it.void
push(byte e1)
Adds one byte to the stack.void
push(byte... elements)
Vararg-signature method for pushing elements at the top of the stack.void
push(byte[] elements, int start, int len)
Add a range of array elements to the stack.void
push(byte e1, byte e2)
Adds two bytes to the stack.void
push(byte e1, byte e2, byte e3)
Adds three bytes to the stack.void
push(byte e1, byte e2, byte e3, byte e4)
Adds four bytes to the stack.int
pushAll(ByteContainer container)
Pushes all elements from another container to the top of the stack.int
pushAll(java.lang.Iterable<? extends ByteCursor> iterable)
Pushes all elements from another iterable to the top of the stack.int
removeAll(ByteLookupContainer c)
Default implementation uses a predicate for removal.int
retainAll(ByteLookupContainer c)
Default implementation uses a predicate for retaining.int
retainAll(BytePredicate predicate)
Default implementation redirects toByteCollection.removeAll(BytePredicate)
and negates the predicate.java.lang.String
toString()
Convert the contents of this container to a human-friendly string.-
Methods inherited from class com.carrotsearch.hppc.ByteArrayList
add, add, add, add, addAll, addAll, clear, contains, ensureBufferSpace, ensureCapacity, equalElements, equals, forEach, forEach, get, hashCode, indexOf, insert, isEmpty, iterator, lastIndexOf, release, remove, removeAll, removeAll, removeFirst, removeLast, removeRange, resize, set, size, toArray, trimToSize
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.carrotsearch.hppc.ByteCollection
removeAll, retainAll, retainAll
-
-
-
-
Constructor Detail
-
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 Detail
-
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(java.lang.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 classByteArrayList
-
removeAll
public int removeAll(ByteLookupContainer c)
Default implementation uses a predicate for removal.- Specified by:
removeAll
in interfaceByteCollection
- Returns:
- Returns the number of removed elements.
-
retainAll
public int retainAll(ByteLookupContainer c)
Default implementation uses a predicate for retaining.- Specified by:
retainAll
in interfaceByteCollection
- Returns:
- Returns the number of removed elements.
-
retainAll
public int retainAll(BytePredicate predicate)
Default implementation redirects toByteCollection.removeAll(BytePredicate)
and negates the predicate.- Specified by:
retainAll
in interfaceByteCollection
- Returns:
- Returns the number of removed elements.
-
toString
public java.lang.String toString()
Convert the contents of this container to a human-friendly string.- Overrides:
toString
in classjava.lang.Object
-
-