Skip to content
Related Articles

Related Articles

Improve Article

Java Program to Implement Stack API

  • Last Updated : 08 Jun, 2021

A stack is a linear data structure that follows a particular order in which insertion/deletion operations are performed. The order is either LIFO(Last In First Out) or FILO(First In Last Out). Stack uses the push() function in order to insert new elements into the Stack and pop() function in order to remove an element from the stack. Insertion and removal in the stack are allowed at only one end called Top. Overflow state in the stack occurs when it is completely full and Underflow state in the stack occurs when it is completely empty.

Example:

Input:

    stack.push(1)
    stack.push(2)
    stack.pop()
    stack.peek()

Output:
2
2

Syntax:

public class Stack<E> extends Vector<E>

Stack API implements

Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess.

Methods in Stack:



  1. empty() – Tests if this stack is empty.
  2. peek() – Looks at the object at the top of this stack without removing it from the stack.
  3. pop() – Removes the object at the top of this stack and returns that object as the value of this function.
  4. push(E item) – Pushes an item onto the top of this stack.
  5. int search(Object o) – Returns the 1-based position where an object is on this stack.

Below is the implementation of the problem statement:

Java




// Java program to implement Stack API
import java.util.Stack;
 
public class StackImpl<E> {
    private Stack<E> stack;
 
    // Constructor to create empty Stack.
    public StackImpl() { stack = new Stack<E>(); }
 
    // method to check if stack is empty or not.
    public boolean empty() { return stack.empty(); }
 
    // method to return topmost element of stack
    public E peek() { return stack.peek(); }
 
    // method to remove and return topmost element of stack
    public E pop() { return stack.pop(); }
 
    // method to push an element into the stack
    public E push(E item) { return stack.push(item); }
 
    // method to return the position of an object
    // in a stack(1-based position)
    public int search(Object o) { return stack.search(o); }
 
    public static void main(String args[])
    {
        StackImpl<String> stack = new StackImpl<String>();
        System.out.println("element pushed : "
                           + stack.push("one"));
        System.out.println("element pushed : "
                           + stack.push("two"));
        System.out.println("element pushed : "
                           + stack.push("three"));
        System.out.println("element pushed : "
                           + stack.push("four"));
        System.out.println("element pushed : "
                           + stack.push("five"));
        System.out.println("element poped : "
                           + stack.pop());
        System.out.println("element poped : "
                           + stack.pop());
        System.out.println("Element peek : "
                           + stack.peek());
        System.out.println("position of element three - "
                           + stack.search("three"));
        while (!stack.empty()) {
            System.out.println("element poped : "
                               + stack.pop());
        }
    }
}

 
 

Output
element pushed : one
element pushed : two
element pushed : three
element pushed : four
element pushed : five
element poped : five
element poped : four
Element peek : three
position of element three - 1
element poped : three
element poped : two
element poped : one

 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :