Java Program to Implement stack data structure

To understand this example, you should have the knowledge of the following Java programming topics:


Example 1: Java program to implement Stack

 // Stack implementation in Java class Stack { // store elements of stack private int arr[]; // represent top of stack private int top; // total capacity of the stack private int capacity; // Creating a stack Stack(int size) { // initialize the array // initialize the stack variables arr = new int[size]; capacity = size; top = -1; } // push elements to the top of stack public void push(int x) { if (isFull()) { System.out.println("Stack OverFlow"); // terminates the program System.exit(1); } // insert element on top of stack System.out.println("Inserting " + x); arr[++top] = x; } // pop elements from top of stack public int pop() { // if stack is empty // no element to pop if (isEmpty()) { System.out.println("STACK EMPTY"); // terminates the program System.exit(1); } // pop element from top of stack return arr[top--]; } // return size of the stack public int getSize() { return top + 1; } // check if the stack is empty public Boolean isEmpty() { return top == -1; } // check if the stack is full public Boolean isFull() { return top == capacity - 1; } // display elements of stack public void printStack() { for (int i = 0; i <= top; i++) { System.out.print(arr[i] + ", "); } } public static void main(String[] args) { Stack stack = new Stack(5); stack.push(1); stack.push(2); stack.push(3); System.out.print("Stack: "); stack.printStack(); // remove element from stack stack.pop(); System.out.println("\nAfter popping out"); stack.printStack(); } }

Output

 Inserting 1 Inserting 2 Inserting 3 Stack: 1, 2, 3, After popping out 1, 2, 

In the above example, we have implemented the stack data structure in Java.

To learn more, visit Stack Data Structure.


Example 2: Implement stack using Stack class

Java provides a built Stack class that can be used to implement a stack.

 import java.util.Stack; class Main { public static void main(String[] args) { // create an object of Stack class Stack<String> animals= new Stack<>(); // push elements to top of stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // pop element from top of stack animals.pop(); System.out.println("Stack after pop: " + animals); } }

Output

 Stack: [Dog, Horse, Cat] Stack after pop: [Dog, Horse]

In the above example, we have used the Stack class to implement the stack in Java. Here,

  • animals.push() - insert elements to top of the stack
  • animals.pop() - remove element from the top of the stack

Notice, we have used the angle brackets <String> while creating the stack. It represents that the stack is of the generic type.


Also Read:

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community