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.-
Field Summary
Fields inherited from class com.carrotsearch.hppc.ObjectArrayList
buffer, elementsCount, EMPTY_ARRAY, resizer -
Constructor Summary
ConstructorsConstructorDescriptionNew instance with sane defaults.ObjectStack(int expectedElements) New instance with sane defaults.ObjectStack(int expectedElements, ArraySizingStrategy resizer) New instance with sane defaults.ObjectStack(ObjectContainer<KType> container) Create a stack by pushing all elements of another container to it. -
Method Summary
Modifier and TypeMethodDescriptionclone()Clone this object.voiddiscard()Discard the top element from the stack.voiddiscard(int count) Discard an arbitrary number of elements from the top of the stack.protected booleanstatic <KType> ObjectStack<KType> from(KType... elements) Create a stack by pushing a variable number of arguments to it.peek()Peek at the top element on the stack.pop()Remove the top element from the stack and return it.voidAdds one Object to the stack.final voidVararg-signature method for pushing elements at the top of the stack.voidAdd a range of array elements to the stack.voidAdds two Objects to the stack.voidAdds three Objects to the stack.voidAdds four Objects to the stack.intpushAll(ObjectContainer<? extends KType> container) Pushes all elements from another container to the top of the stack.intpushAll(Iterable<? extends ObjectCursor<? extends KType>> iterable) Pushes all elements from another iterable to the top of the stack.intremoveAll(ObjectLookupContainer<? super KType> c) Default implementation uses a predicate for removal.intretainAll(ObjectLookupContainer<? super KType> c) Default implementation uses a predicate for retaining.intretainAll(ObjectPredicate<? super KType> predicate) Default implementation redirects toObjectCollection.removeAll(ObjectPredicate)and negates the predicate.<T> T[]Copies all elements of this container to a dynamically created array of the given component type.toString()Convert the contents of this container to a human-friendly string.Methods inherited from class com.carrotsearch.hppc.ObjectArrayList
add, add, add, add, addAll, addAll, clear, contains, ensureBufferSpace, ensureCapacity, equalElements, equals, forEach, forEach, get, hashCode, indexOf, insert, isEmpty, iterator, lastIndexOf, ramBytesAllocated, ramBytesUsed, release, removeAll, removeAll, removeAt, removeElement, removeFirst, removeLast, removeLast, removeRange, resize, reverse, set, size, sort, stream, toArray, trimToSizeMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface com.carrotsearch.hppc.ObjectCollection
removeAll, retainAll, retainAllMethods inherited from interface com.carrotsearch.hppc.ObjectContainer
toArray
-
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
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
Create a stack by pushing all elements of another container to it.
-
-
Method Details
-
push
Adds one Object to the stack. -
push
Adds two Objects to the stack. -
push
Adds three Objects to the stack. -
push
Adds four Objects to the stack. -
push
Add a range of array elements to the stack. -
push
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
Pushes all elements from another container to the top of the stack. -
pushAll
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
Remove the top element from the stack and return it. -
peek
Peek at the top element on the stack. -
from
Create a stack by pushing a variable number of arguments to it. -
clone
Clone this object. The returned clone will reuse the same hash function and array resizing strategy.- Overrides:
clonein classObjectArrayList<KType>
-
removeAll
Default implementation uses a predicate for removal.- Specified by:
removeAllin interfaceObjectCollection<KType>- Returns:
- Returns the number of removed elements.
-
retainAll
Default implementation uses a predicate for retaining.- Specified by:
retainAllin interfaceObjectCollection<KType>- Returns:
- Returns the number of removed elements.
-
retainAll
Default implementation redirects toObjectCollection.removeAll(ObjectPredicate)and negates the predicate.- Specified by:
retainAllin interfaceObjectCollection<KType>- Returns:
- Returns the number of removed elements.
-
toArray
Description copied from interface:ObjectContainerCopies all elements of this container to a dynamically created array of the given component type.- Specified by:
toArrayin interfaceObjectContainer<KType>
-
toString
Convert the contents of this container to a human-friendly string. -
equals
-