Class Stack<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.Vector<E>
java.util.Stack<E>
- Type Parameters:
E- Type of component elements
- All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess, SequencedCollection<E>
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>();- Since:
- 1.0
- See Also:
-
Field Summary
Fields declared in class Vector
capacityIncrement, elementCount, elementDataModifier and TypeFieldDescriptionprotected intThe amount by which the capacity of the vector is automatically incremented when its size becomes greater than its capacity.protected intThe number of valid components in thisVectorobject.protected Object[]The array buffer into which the components of the vector are stored.Fields declared in class AbstractList
modCountModifier and TypeFieldDescriptionprotected intThe number of times this list has been structurally modified. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanempty()Tests if this stack is empty.peek()Looks at the object at the top of this stack without removing it from the stack.pop()Removes the object at the top of this stack and returns that object as the value of this function.Pushes an item onto the top of this stack.intReturns the 1-based position where an object is on this stack.Methods declared in class Vector
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, retainAll, set, setElementAt, setSize, size, spliterator, subList, toArray, toArray, toString, trimToSizeModifier and TypeMethodDescriptionvoidInserts the specified element at the specified position in this Vector.booleanAppends the specified element to the end of this Vector.booleanaddAll(int index, Collection<? extends E> c) Inserts all of the elements in the specified Collection into this Vector at the specified position.booleanaddAll(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.voidaddElement(E obj) Adds the specified component to the end of this vector, increasing its size by one.intcapacity()Returns the current capacity of this vector.voidclear()Removes all of the elements from this Vector.clone()Returns a clone of this vector.booleanReturnstrueif this vector contains the specified element.booleancontainsAll(Collection<?> c) Returns true if this Vector contains all of the elements in the specified Collection.voidCopies the components of this vector into the specified array.elementAt(int index) Returns the component at the specified index.elements()Returns an enumeration of the components of this vector.voidensureCapacity(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.booleanCompares the specified Object with this Vector for equality.Returns the first component (the item at index0) of this vector.voidPerforms the given action for each element of theIterableuntil all elements have been processed or the action throws an exception.get(int index) Returns the element at the specified position in this Vector.inthashCode()Returns the hash code value for this Vector.intReturns the index of the first occurrence of the specified element in this vector, or -1 if this vector does not contain the element.intReturns the index of the first occurrence of the specified element in this vector, searching forwards fromindex, or returns -1 if the element is not found.voidinsertElementAt(E obj, int index) Inserts the specified object as a component in this vector at the specifiedindex.booleanisEmpty()Tests if this vector has no components.iterator()Returns an iterator over the elements in this list in proper sequence.Returns the last component of the vector.intReturns the index of the last occurrence of the specified element in this vector, or -1 if this vector does not contain the element.intlastIndexOf(Object o, int index) Returns the index of the last occurrence of the specified element in this vector, searching backwards fromindex, or returns -1 if the element is not found.Returns a list iterator over the elements in this list (in proper sequence).listIterator(int index) Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.remove(int index) Removes the element at the specified position in this Vector.booleanRemoves the first occurrence of the specified element in this Vector If the Vector does not contain the element, it is unchanged.booleanremoveAll(Collection<?> c) Removes from this Vector all of its elements that are contained in the specified Collection.voidRemoves all components from this vector and sets its size to zero.booleanremoveElement(Object obj) Removes the first (lowest-indexed) occurrence of the argument from this vector.voidremoveElementAt(int index) Deletes the component at the specified index.booleanRemoves all of the elements of this collection that satisfy the given predicate (optional operation).protected voidremoveRange(int fromIndex, int toIndex) Removes from this list all of the elements whose index is betweenfromIndex, inclusive, andtoIndex, exclusive.voidreplaceAll(UnaryOperator<E> operator) Replaces each element of this list with the result of applying the operator to that element (optional operation).booleanretainAll(Collection<?> c) Retains only the elements in this Vector that are contained in the specified Collection.Replaces the element at the specified position in this Vector with the specified element.voidsetElementAt(E obj, int index) Sets the component at the specifiedindexof this vector to be the specified object.voidsetSize(int newSize) Sets the size of this vector.intsize()Returns the number of components in this vector.Creates a late-binding and fail-fastSpliteratorover the elements in this list.subList(int fromIndex, int toIndex) Returns a view of the portion of this List between fromIndex, inclusive, and toIndex, exclusive.Object[]toArray()Returns an array containing all of the elements in this Vector in the correct order.<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.toString()Returns a string representation of this Vector, containing the String representation of each element.voidTrims the capacity of this vector to be the vector's current size.Methods declared in class Object
finalize, getClass, notify, notifyAll, wait, wait, waitModifier and TypeMethodDescriptionprotected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class<?> getClass()Returns the runtime class of thisObject.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.final voidwait()Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final voidwait(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final voidwait(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.Methods declared in interface Collection
parallelStream, stream, toArrayModifier and TypeMethodDescriptionReturns a possibly parallelStreamwith this collection as its source.stream()Returns a sequentialStreamwith this collection as its source.default <T> T[]toArray(IntFunction<T[]> generator) Returns an array containing all of the elements in this collection, using the providedgeneratorfunction to allocate the returned array.Methods declared in interface List
addFirst, addLast, getFirst, getLast, removeFirst, removeLast, reversed, sortModifier and TypeMethodDescriptiondefault voidAdds an element as the first element of this collection (optional operation).default voidAdds an element as the last element of this collection (optional operation).default EgetFirst()Gets the first element of this collection.default EgetLast()Gets the last element of this collection.default ERemoves and returns the first element of this collection (optional operation).default ERemoves and returns the last element of this collection (optional operation).reversed()Returns a reverse-ordered view of this collection.default voidsort(Comparator<? super E> c) Sorts this list according to the order induced by the specifiedComparator(optional operation).
-
Constructor Details
-
Stack
public Stack()Creates an empty Stack.
-
-
Method Details
-
push
-
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
Vectorobject). - Throws:
EmptyStackException- if this stack is empty.
-
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
Vectorobject). - Throws:
EmptyStackException- if this stack is empty.
-
empty
public boolean empty()Tests if this stack is empty.- Returns:
trueif and only if this stack contains no items;falseotherwise.
-
search
Returns the 1-based position where an object is on this stack. If the objectooccurs 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 distance1. Theequalsmethod is used to compareoto 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
-1indicates that the object is not on the stack.
-