Package com.carrotsearch.hppc
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
,java.lang.Cloneable
,java.lang.Iterable<ObjectCursor<KType>>
,java.util.RandomAccess
@Generated(date="2021-06-08T13:12:53+0200", value="KTypeStack.java") public class ObjectStack<KType> extends ObjectArrayList<KType>
A subclass ofObjectArrayList
adding stack-related utility methods. The top of the stack is at the
element.ObjectArrayList.size()
- 1
-
-
Field Summary
-
Fields inherited from class com.carrotsearch.hppc.ObjectArrayList
buffer, elementsCount, EMPTY_ARRAY, resizer
-
-
Constructor Summary
Constructors Constructor Description ObjectStack()
New 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectStack<KType>
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.protected boolean
equals(java.lang.Object v1, java.lang.Object v2)
static <KType> ObjectStack<KType>
from(KType... elements)
Create a stack by pushing a variable number of arguments to it.KType
peek()
Peek at the top element on the stack.KType
pop()
Remove the top element from the stack and return it.void
push(KType e1)
Adds one Object to the stack.void
push(KType... elements)
Vararg-signature method for pushing elements at the top of the stack.void
push(KType[] elements, int start, int len)
Add a range of array elements to the stack.void
push(KType e1, KType e2)
Adds two Objects to the stack.void
push(KType e1, KType e2, KType e3)
Adds three Objects to the stack.void
push(KType e1, KType e2, KType e3, KType e4)
Adds four Objects to the stack.int
pushAll(ObjectContainer<? extends KType> container)
Pushes all elements from another container to the top of the stack.int
pushAll(java.lang.Iterable<? extends ObjectCursor<? extends KType>> iterable)
Pushes all elements from another iterable to the top of the stack.int
removeAll(ObjectLookupContainer<? super KType> c)
Default implementation uses a predicate for removal.int
retainAll(ObjectLookupContainer<? super KType> c)
Default implementation uses a predicate for retaining.int
retainAll(ObjectPredicate<? super KType> predicate)
Default implementation redirects toObjectCollection.removeAll(ObjectPredicate)
and negates the predicate.<T> T[]
toArray(java.lang.Class<T> componentClass)
Copies all elements of this container to a dynamically created array of the given component type.java.lang.String
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, 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.ObjectCollection
removeAll, retainAll, retainAll
-
Methods inherited from interface com.carrotsearch.hppc.ObjectContainer
toArray
-
-
-
-
Constructor Detail
-
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 Detail
-
push
public void push(KType e1)
Adds one Object 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(java.lang.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 classObjectArrayList<KType>
-
removeAll
public int removeAll(ObjectLookupContainer<? super KType> c)
Default implementation uses a predicate for removal.- Specified by:
removeAll
in interfaceObjectCollection<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 interfaceObjectCollection<KType>
- Returns:
- Returns the number of removed elements.
-
retainAll
public int retainAll(ObjectPredicate<? super KType> predicate)
Default implementation redirects toObjectCollection.removeAll(ObjectPredicate)
and negates the predicate.- Specified by:
retainAll
in interfaceObjectCollection<KType>
- Returns:
- Returns the number of removed elements.
-
toArray
public <T> T[] toArray(java.lang.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 interfaceObjectContainer<KType>
-
toString
public java.lang.String toString()
Convert the contents of this container to a human-friendly string.- Overrides:
toString
in classjava.lang.Object
-
equals
protected boolean equals(java.lang.Object v1, java.lang.Object v2)
-
-