Popular Tutorials
Start Learning JavaCertification Courses
Created with over a decade of experience and thousands of feedback.
Java Program to Implement stack data structure
In this example, we will learn to implement the stack data structure in Java.
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?