The Stack
class represents a last-in-first-out
(LIFO) stack of objects. It extends class Vector with five
operations that allow a vector to be treated as a stack. The usual
push and pop operations are provided, as well as a
method to peek at the top item on the stack, a method to test
for whether the stack is empty, and a method to search
the stack for an item and discover how far it is from the top.
When a stack is first created, it contains no items.
A more complete and consistent set of LIFO stack operations is
provided by the Deque
interface and its implementations, which
should be used in preference to this class. For example:
Deque<Integer> stack = new ArrayDeque<Integer>();
Inherited Field Summary
protected int | capacityIncrement | The amount by which the capacity of the vector is automatically incremented when its size becomes greater than its capacity. |
protected int | elementCount | The number of valid components in this Vector object. |
protected Object[] | elementData | The array buffer into which the components of the vector are stored. |
protected int | modCount | The number of times this list has been structurally modified. |
Public Constructor Summary
Stack()
Creates an empty Stack.
|
Public Method Summary
boolean |
empty()
Tests if this stack is empty.
|
synchronized E |
peek()
Looks at the object at the top of this stack without removing it
from the stack.
|
synchronized E |
pop()
Removes the object at the top of this stack and returns that
object as the value of this function.
|
E |
push(E item)
Pushes an item onto the top of this stack.
|
synchronized int |
Inherited Method Summary
void |
add(int index, E element)
Inserts the specified element at the specified position in this Vector.
|
synchronized boolean |
add(E e)
Appends the specified element to the end of this Vector.
|
synchronized boolean |
addAll(int index, Collection<? extends E> c)
Inserts all of the elements in the specified Collection into this
Vector at the specified position.
|
synchronized boolean |
addAll(Collection<? extends E> c)
Appends all of the elements in the specified Collection to the end of
this Vector, in the order that they are returned by the specified
Collection's Iterator.
|
synchronized void |
addElement(E obj)
Adds the specified component to the end of this vector,
increasing its size by one.
|
synchronized int |
capacity()
Returns the current capacity of this vector.
|
void |
clear()
Removes all of the elements from this Vector.
|
synchronized Object |
clone()
Returns a clone of this vector.
|
boolean | |
synchronized boolean |
containsAll(Collection<?> c)
Returns true if this Vector contains all of the elements in the
specified Collection.
|
synchronized void | |
synchronized E |
elementAt(int index)
Returns the component at the specified index.
|
Enumeration<E> |
elements()
Returns an enumeration of the components of this vector.
|
synchronized void |
ensureCapacity(int minCapacity)
Increases the capacity of this vector, if necessary, to ensure
that it can hold at least the number of components specified by
the minimum capacity argument.
|
synchronized boolean | |
synchronized E |
firstElement()
Returns the first component (the item at index
0 ) of
this vector. |
synchronized void | |
synchronized E |
get(int index)
Returns the element at the specified position in this Vector.
|
synchronized int |
hashCode()
Returns the hash code value for this Vector.
|
int | |
synchronized int | |
synchronized void |
insertElementAt(E obj, int index)
Inserts the specified object as a component in this vector at the
specified
index . |
synchronized boolean |
isEmpty()
Tests if this vector has no components.
|
synchronized Iterator<E> |
iterator()
Returns an iterator over the elements in this list in proper sequence.
|
synchronized E |
lastElement()
Returns the last component of the vector.
|
synchronized int |
lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element
in this vector, or -1 if this vector does not contain the element.
|
synchronized int |
lastIndexOf(Object o, int index)
Returns the index of the last occurrence of the specified element in
this vector, searching backwards from
index , or returns -1 if
the element is not found. |
synchronized ListIterator<E> |
listIterator(int index)
Returns a list iterator over the elements in this list (in proper
sequence), starting at the specified position in the list.
|
synchronized ListIterator<E> |
listIterator()
Returns a list iterator over the elements in this list (in proper
sequence).
|
boolean | |
synchronized E |
remove(int index)
Removes the element at the specified position in this Vector.
|
synchronized boolean |
removeAll(Collection<?> c)
Removes from this Vector all of its elements that are contained in the
specified Collection.
|
synchronized void |
removeAllElements()
Removes all components from this vector and sets its size to zero.
|
synchronized boolean |
removeElement(Object obj)
Removes the first (lowest-indexed) occurrence of the argument
from this vector.
|
synchronized void |
removeElementAt(int index)
Deletes the component at the specified index.
|
synchronized boolean | |
synchronized void |
removeRange(int fromIndex, int toIndex)
Removes from this list all of the elements whose index is between
fromIndex , inclusive, and toIndex , exclusive. |
synchronized void |
replaceAll(UnaryOperator<E> operator)
Replaces each element of this list with the result of applying the
operator to that element.
|
synchronized boolean |
retainAll(Collection<?> c)
Retains only the elements in this Vector that are contained in the
specified Collection.
|
synchronized E |
set(int index, E element)
Replaces the element at the specified position in this Vector with the
specified element.
|
synchronized void |
setElementAt(E obj, int index)
Sets the component at the specified
index of this
vector to be the specified object. |
synchronized void |
setSize(int newSize)
Sets the size of this vector.
|
synchronized int |
size()
Returns the number of components in this vector.
|
synchronized void |
sort(Comparator<? super E> c)
Sorts this list according to the order induced by the specified
Comparator . |
Spliterator<E> |
spliterator()
Creates a late-binding
and fail-fast
Spliterator over the elements in this
list. |
synchronized List<E> |
subList(int fromIndex, int toIndex)
Returns a view of the portion of this List between fromIndex,
inclusive, and toIndex, exclusive.
|
synchronized Object[] |
toArray()
Returns an array containing all of the elements in this Vector
in the correct order.
|
synchronized <T> T[] |
toArray(T[] a)
Returns an array containing all of the elements in this Vector in the
correct order; the runtime type of the returned array is that of the
specified array.
|
synchronized String |
toString()
Returns a string representation of this Vector, containing
the String representation of each element.
|
synchronized void |
trimToSize()
Trims the capacity of this vector to be the vector's current
size.
|
void |
add(int index, E element)
Inserts the specified element at the specified position in this list
(optional operation).
|
boolean |
add(E e)
Appends the specified element to the end of this list (optional
operation).
|
boolean |
addAll(int index, Collection<? extends E> c)
Inserts all of the elements in the specified collection into this
list at the specified position (optional operation).
|
void |
clear()
Removes all of the elements from this list (optional operation).
|
boolean | |
abstract E |
get(int index)
Returns the element at the specified position in this list.
|
int |
hashCode()
Returns the hash code value for this list.
|
int | |
Iterator<E> |
iterator()
Returns an iterator over the elements in this list in proper sequence.
|
int |
lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element
in this list, or -1 if this list does not contain the element.
|
ListIterator<E> |
listIterator(int index)
Returns a list iterator over the elements in this list (in proper
sequence), starting at the specified position in the list.
|
ListIterator<E> |
listIterator()
Returns a list iterator over the elements in this list (in proper
sequence).
|
E |
remove(int index)
Removes the element at the specified position in this list (optional
operation).
|
void |
removeRange(int fromIndex, int toIndex)
Removes from this list all of the elements whose index is between
fromIndex , inclusive, and toIndex , exclusive. |
E |
set(int index, E element)
Replaces the element at the specified position in this list with the
specified element (optional operation).
|
List<E> |
subList(int fromIndex, int toIndex)
Returns a view of the portion of this list between the specified
fromIndex , inclusive, and toIndex , exclusive. |
boolean |
add(E e)
Ensures that this collection contains the specified element (optional
operation).
This implementation always throws an UnsupportedOperationException. |
boolean |
addAll(Collection<? extends E> c)
Adds all of the elements in the specified collection to this collection
(optional operation).
This implementation iterates over the specified collection, and adds each object returned by the iterator to this collection, in turn. |
void |
clear()
Removes all of the elements from this collection (optional operation).
This implementation iterates over this collection, removing each element using the Iterator.remove operation. |
boolean | |
boolean |
containsAll(Collection<?> c)
Returns true if this collection contains all of the elements
in the specified collection.
This implementation iterates over the specified collection, checking each element returned by the iterator in turn to see if it's contained in this collection. |
boolean |
isEmpty()
Returns true if this collection contains no elements.
This implementation returns size() == 0. |
abstract Iterator<E> |
iterator()
Returns an iterator over the elements contained in this collection.
|
boolean | |
boolean |
removeAll(Collection<?> c)
Removes all of this collection's elements that are also contained in the
specified collection (optional operation).
This implementation iterates over this collection, checking each element returned by the iterator in turn to see if it's contained in the specified collection. |
boolean |
retainAll(Collection<?> c)
Retains only the elements in this collection that are contained in the
specified collection (optional operation).
This implementation iterates over this collection, checking each element returned by the iterator in turn to see if it's contained in the specified collection. |
abstract int |
size()
Returns the number of elements in this collection.
|
<T> T[] |
toArray(T[] contents)
Returns an array containing all of the elements in this collection;
the runtime type of the returned array is that of the specified array.
This implementation returns an array containing all the elements
returned by this collection's iterator in the same order, stored in
consecutive elements of the array, starting with index |
Object[] |
toArray()
Returns an array containing all of the elements in this collection.
This implementation returns an array containing all the elements
returned by this collection's iterator, in the same order, stored in
consecutive elements of the array, starting with index |
String |
toString()
Returns a string representation of this collection.
|
Object |
clone()
Creates and returns a copy of this
Object . |
boolean | |
void |
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final Class<?> | |
int |
hashCode()
Returns an integer hash code for this object.
|
final void |
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the
wait() methods) to be woken up. |
final void |
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the
wait() methods) to be woken up. |
String |
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final void |
wait(long timeout, int nanos)
Causes the calling thread to wait until another thread calls the
notify() or notifyAll() method of this object or until the
specified timeout expires. |
final void |
wait(long timeout)
Causes the calling thread to wait until another thread calls the
notify() or notifyAll() method of this object or until the
specified timeout expires. |
final void |
wait()
Causes the calling thread to wait until another thread calls the
notify() or notifyAll() method of this object. |
abstract boolean |
add(E e)
Appends the specified element to the end of this list (optional
operation).
|
abstract void |
add(int index, E element)
Inserts the specified element at the specified position in this list
(optional operation).
|
abstract boolean |
addAll(Collection<? extends E> c)
Appends all of the elements in the specified collection to the end of
this list, in the order that they are returned by the specified
collection's iterator (optional operation).
|
abstract boolean |
addAll(int index, Collection<? extends E> c)
Inserts all of the elements in the specified collection into this
list at the specified position (optional operation).
|
abstract void |
clear()
Removes all of the elements from this list (optional operation).
|
abstract boolean | |
abstract boolean |
containsAll(Collection<?> c)
Returns
true if this list contains all of the elements of the
specified collection. |
abstract boolean | |
abstract E |
get(int index)
Returns the element at the specified position in this list.
|
abstract int |
hashCode()
Returns the hash code value for this list.
|
abstract int | |
abstract boolean |
isEmpty()
Returns
true if this list contains no elements. |
abstract Iterator<E> |
iterator()
Returns an iterator over the elements in this list in proper sequence.
|
abstract int |
lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element
in this list, or -1 if this list does not contain the element.
|
abstract ListIterator<E> |
listIterator(int index)
Returns a list iterator over the elements in this list (in proper
sequence), starting at the specified position in the list.
|
abstract ListIterator<E> |
listIterator()
Returns a list iterator over the elements in this list (in proper
sequence).
|
abstract E |
remove(int index)
Removes the element at the specified position in this list (optional
operation).
|
abstract boolean | |
abstract boolean |
removeAll(Collection<?> c)
Removes from this list all of its elements that are contained in the
specified collection (optional operation).
|
void |
replaceAll(UnaryOperator<E> operator)
Replaces each element of this list with the result of applying the
operator to that element.
|
abstract boolean |
retainAll(Collection<?> c)
Retains only the elements in this list that are contained in the
specified collection (optional operation).
|
abstract E |
set(int index, E element)
Replaces the element at the specified position in this list with the
specified element (optional operation).
|
abstract int |
size()
Returns the number of elements in this list.
|
void |
sort(Comparator<? super E> c)
Sorts this list according to the order induced by the specified
Comparator . |
Spliterator<E> |
spliterator()
Creates a
Spliterator over the elements in this list. |
abstract List<E> |
subList(int fromIndex, int toIndex)
Returns a view of the portion of this list between the specified
fromIndex , inclusive, and toIndex , exclusive. |
abstract Object[] |
toArray()
Returns an array containing all of the elements in this list in proper
sequence (from first to last element).
|
abstract <T> T[] |
toArray(T[] a)
Returns an array containing all of the elements in this list in
proper sequence (from first to last element); the runtime type of
the returned array is that of the specified array.
|
abstract boolean |
add(E e)
Ensures that this collection contains the specified element (optional
operation).
|
abstract boolean |
addAll(Collection<? extends E> c)
Adds all of the elements in the specified collection to this collection
(optional operation).
|
abstract void |
clear()
Removes all of the elements from this collection (optional operation).
|
abstract boolean | |
abstract boolean |
containsAll(Collection<?> c)
Returns true if this collection contains all of the elements
in the specified collection.
|
abstract boolean | |
abstract int |
hashCode()
Returns the hash code value for this collection.
|
abstract boolean |
isEmpty()
Returns true if this collection contains no elements.
|
abstract Iterator<E> |
iterator()
Returns an iterator over the elements in this collection.
|
Stream<E> |
parallelStream()
Returns a possibly parallel
Stream with this collection as its
source. |
abstract boolean | |
abstract boolean |
removeAll(Collection<?> c)
Removes all of this collection's elements that are also contained in the
specified collection (optional operation).
|
boolean | |
abstract boolean |
retainAll(Collection<?> c)
Retains only the elements in this collection that are contained in the
specified collection (optional operation).
|
abstract int |
size()
Returns the number of elements in this collection.
|
Spliterator<E> |
spliterator()
Creates a
Spliterator over the elements in this collection. |
Stream<E> |
stream()
Returns a sequential
Stream with this collection as its source. |
abstract <T> T[] |
toArray(T[] a)
Returns an array containing all of the elements in this collection;
the runtime type of the returned array is that of the specified array.
|
abstract Object[] |
toArray()
Returns an array containing all of the elements in this collection.
|
void | |
abstract Iterator<E> |
iterator()
Returns an iterator over elements of type
T . |
Spliterator<E> |
spliterator()
Creates a
Spliterator over the elements described by this
Iterable . |
Public Constructors
public Stack ()
Creates an empty Stack.
Public Methods
public boolean empty ()
Tests if this stack is empty.
Returns
true
if and only if this stack contains no items;false
otherwise.
public synchronized E peek ()
Looks at the object at the top of this stack without removing it from the stack.
Returns
- the object at the top of this stack (the last item of the Vector object).
Throws
EmptyStackException | if this stack is empty. |
---|
public synchronized E pop ()
Removes the object at the top of this stack and returns that object as the value of this function.
Returns
- The object at the top of this stack (the last item of the Vector object).
Throws
EmptyStackException | if this stack is empty. |
---|
public E push (E item)
Pushes an item onto the top of this stack. This has exactly the same effect as:
addElement(item)
Parameters
item | the item to be pushed onto this stack. |
---|
Returns
- the
item
argument.
See Also
public synchronized int search (Object o)
Returns the 1-based position where an object is on this stack. If the object o occurs as an item in this stack, this method returns the distance from the top of the stack of the occurrence nearest the top of the stack; the topmost item on the stack is considered to be at distance 1. The equals method is used to compare o to the items in this stack.
Parameters
o | the desired object. |
---|
Returns
- the 1-based position from the top of the stack where
the object is located; the return value
-1
indicates that the object is not on the stack.