Class ArrayStack<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<E>
-
- org.apache.tomcat.util.digester.ArrayStack<E>
-
- Type Parameters:
E
- Type of object in this stack
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.List<E>
,java.util.RandomAccess
public class ArrayStack<E> extends java.util.ArrayList<E>
Imported copy of the
ArrayStack
class from Commons Collections, which was the only direct dependency from Digester.WARNING - 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
Stack
API that is based on anArrayList
instead of aVector
, 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:
Stack
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ArrayStack()
Constructs a new emptyArrayStack
.ArrayStack(int initialSize)
Constructs a new emptyArrayStack
with an initial size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
empty()
Returntrue
if this stack is currently empty.E
peek()
Returns the top item off of this stack without removing it.E
peek(int n)
Returns the n'th item down (zero-relative) from the top of this stack without removing it.E
pop()
Pops the top item off of this stack and return it.E
push(E item)
Pushes a new item onto the top of this stack.-
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
-
-
-
Constructor Detail
-
ArrayStack
public ArrayStack()
Constructs a new emptyArrayStack
. The initial size is controlled byArrayList
and is currently 10.
-
ArrayStack
public ArrayStack(int initialSize)
Constructs a new emptyArrayStack
with an initial size.- Parameters:
initialSize
- the initial size to use- Throws:
java.lang.IllegalArgumentException
- if the specified initial size is negative
-
-
Method Detail
-
empty
public boolean empty()
Returntrue
if this stack is currently empty.This method exists for compatibility with
java.util.Stack
. New users of this class should useisEmpty
instead.- Returns:
- true if the stack is currently empty
-
peek
public E peek() throws java.util.EmptyStackException
Returns the top item off of this stack without removing it.- Returns:
- the top item on the stack
- Throws:
java.util.EmptyStackException
- if the stack is empty
-
peek
public E peek(int n) throws java.util.EmptyStackException
Returns the n'th item down (zero-relative) from the top of this stack without removing it.- Parameters:
n
- the number of items down to go- Returns:
- the n'th item on the stack, zero relative
- Throws:
java.util.EmptyStackException
- if there are not enough items on the stack to satisfy this request
-
pop
public E pop() throws java.util.EmptyStackException
Pops the top item off of this stack and return it.- Returns:
- the top item on the stack
- Throws:
java.util.EmptyStackException
- if the stack is empty
-
-