java.util.Stack
is a last-in, first-out (LIFO) data structure that extends the Vector
class and is part of the Java Collections Framework. It models the classic stack data structure where elements are added and removed only from the top of the stack. Internally, since Stack
extends Vector
, it inherits all of its methods and characteristics, including synchronization, meaning all operations on a Stack
object are thread-safe. The Stack
class introduces several methods specifically designed for stack operations, such as push(E item)
to insert an element at the top, pop()
to remove and return the top element, peek()
to look at the top element without removing it, and empty()
to check if the stack is empty. Because it is synchronized,
Stack
is safe for use in multi-threaded environments but might be less efficient in single-threaded applications. In modern Java programming,Deque
(such asArrayDeque
) is often preferred overStack
due to its improved performance and flexibility, butStack
is still useful for educational purposes and simpler use cases requiring built-in synchronization.
For more related practice on Stack…
Stack