org.apache.tomcat.util.digester
public class ArrayStack extends ArrayList
Imported copy of the ArrayStack
class from
Commons Collections, which was the only direct dependency from Digester.
WARNNG - This class is public solely to allow it to be
used from subpackages of org.apache.commons.digester
.
It should not be considered part of the public API of Commons Digester.
If you want to use such a class yourself, you should use the one from
Commons Collections directly.
An implementation of the java.util.Stack API that is based on an
ArrayList
instead of a Vector
, so it is not
synchronized to protect against multi-threaded access. The implementation
is therefore operates faster in environments where you do not need to
worry about multiple thread contention.
Unlike Stack
, ArrayStack
accepts null entries.
Since: Digester 1.6 (from Commons Collections 1.0)
See Also: java.util.Stack
Constructor Summary | |
---|---|
ArrayStack()
Constructs a new empty ArrayStack . | |
ArrayStack(int initialSize)
Constructs a new empty ArrayStack with an initial size.
|
Method Summary | |
---|---|
boolean | empty()
Return true if this stack is currently empty.
|
Object | peek()
Returns the top item off of this stack without removing it.
|
Object | peek(int n)
Returns the n'th item down (zero-relative) from the top of this
stack without removing it.
|
Object | pop()
Pops the top item off of this stack and return it.
|
Object | push(Object item)
Pushes a new item onto the top of this stack. |
int | search(Object object)
Returns the one-based position of the distance from the top that the
specified object exists on this stack, where the top-most element is
considered to be at distance 1 . |
ArrayStack
. The initial size
is controlled by ArrayList
and is currently 10.ArrayStack
with an initial size.
Parameters: initialSize the initial size to use
Throws: IllegalArgumentException if the specified initial size is negative
true
if this stack is currently empty.
This method exists for compatibility with java.util.Stack
.
New users of this class should use isEmpty
instead.
Returns: true if the stack is currently empty
Returns: the top item on the stack
Throws: EmptyStackException if the stack is empty
Parameters: n the number of items down to go
Returns: the n'th item on the stack, zero relative
Throws: EmptyStackException if there are not enough items on the stack to satisfy this request
Returns: the top item on the stack
Throws: EmptyStackException if the stack is empty
add
.
Parameters: item the item to be added
Returns: the item just pushed
1
. If the object is not
present on the stack, return -1
instead. The
equals()
method is used to compare to the items
in this stack.
Parameters: object the object to be searched for
Returns: the 1-based depth into the stack of the object, or -1 if not found