Class FixedStack<N>
java.lang.Object
com.conversantmedia.util.collection.FixedStack<N>
- All Implemented Interfaces:
Stack<N>
A very high performance stack to replace java.util.Stack. This
stack wraps around rather than checking for bounds.
The java version of Stack is based on Vector and completely outdated.
The performance of java.util.Stack is poor at best.
This version is a small fast fixed size stack. There
is no bounds checking so it should only be used when the stack size is known
in advance.
This object is not thread safe.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
clear the stackboolean
Linear search the stack for contains - not an efficient operationboolean
isEmpty()
peek()
peek at the top of the stackpop()
pop the next element off the stackboolean
add an element to the stackint
how much available space in the stackint
size()
Return the size of the stack
-
Field Details
-
size
private final int size -
mask
private final int mask -
stack
-
stackTop
private int stackTop
-
-
Constructor Details
-
FixedStack
public FixedStack(int size) construct a new stack of given capacity- Parameters:
size
- - the stack size
-
-
Method Details
-
push
add an element to the stack -
contains
Description copied from interface:Stack
Linear search the stack for contains - not an efficient operation -
peek
peek at the top of the stack -
pop
pop the next element off the stack -
size
public int size()Return the size of the stack -
remainingCapacity
public int remainingCapacity()how much available space in the stack- Specified by:
remainingCapacity
in interfaceStack<N>
- Returns:
- int - the number of empty slots available in the stack
-
isEmpty
public boolean isEmpty() -
clear
public void clear()clear the stack
-