- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.Vector<E>
-
- java.util.Stack<E>
-
- All Implemented Interfaces:
- Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
public class Stack<E> extends Vector<E>
TheStack
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:
- JDK1.0
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor and Description Stack()
Creates an empty Stack.
-
Method Summary
Methods Modifier and Type Method and Description boolean
empty()
Tests if this stack is empty.E
peek()
Looks at the object at the top of this stack without removing it from the stack.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.int
search(Object o)
Returns the 1-based position where an object is on this stack.-
Methods inherited from class java.util.Vector
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
-
-
-
-
Method Detail
-
push
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:
Vector.addElement(E)
-
pop
public 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.
-
peek
public 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.
-
empty
public boolean empty()
Tests if this stack is empty.- Returns:
true
if and only if this stack contains no items;false
otherwise.
-
search
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.- 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.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/util/stack.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.