public class Stack<E> extends Vector<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>();
capacityIncrement, elementCount, elementData
modCount
public Stack()
Creates an empty Stack.
public E push(E item)
Pushes an item onto the top of this stack. This has exactly the same effect as:
addElement(item)
item
- the item to be pushed onto this stack.item
argument.Vector.addElement(E)
public E pop()
Removes the object at the top of this stack and returns that object as the value of this function.
Vector
object).EmptyStackException
- if this stack is empty.public E peek()
Looks at the object at the top of this stack without removing it from the stack.
Vector
object).EmptyStackException
- if this stack is empty.public boolean empty()
Tests if this stack is empty.
true
if and only if this stack contains no items; false
otherwise.public 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.
o
- the desired object.-1
indicates that the object is not on the stack.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.