Thursday, October 9, 2025
HomeLanguagesJavaStack clone() method in Java with Example

Stack clone() method in Java with Example

The clone() method of Stack class is used to return a shallow copy of this Stack. It just creates a copy of the Stack. The copy will have a reference to a clone of the internal data array but not a reference to the original internal data array.

Syntax:

Stack.clone()

Parameters: The method does not take any parameter.

Return Value: The method returns an Object which is just the copy of the Stack.

Exception: This method throws CloneNotSupportedException if the object’s class does not support the Cloneable interface.

Below programs illustrate the Java.util.Stack.clone() method:

Program 1:




// Java code to illustrate clone()
  
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
        // Creating an empty Stack
        Stack<String> stack = new Stack<String>();
  
        // Use add() method to add elements into the Stack
        stack.add("Welcome");
        stack.add("To");
        stack.add("Geeks");
        stack.add("4");
        stack.add("Geeks");
  
        // Displaying the Stack
        System.out.println("Stack: " + stack);
  
        // Creating another Stack to copy
        Object copy_Stack = stack.clone();
  
        // Displaying the copy of Stack
        System.out.println("The cloned Stack is: "
                           + copy_Stack);
    }
}


Output:

Stack: [Welcome, To, Geeks, 4, Geeks]
The cloned Stack is: [Welcome, To, Geeks, 4, Geeks]

Program 2:




// Java code to illustrate clone()
  
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
        // Creating an empty Stack
        Stack<Integer> stack = new Stack<Integer>();
  
        // Use add() method to add elements into the Queue
        stack.add(10);
        stack.add(15);
        stack.add(30);
        stack.add(20);
        stack.add(5);
  
        // Displaying the Stack
        System.out.println("Stack: " + stack);
  
        // Creating another Stack to copy
        Object copy_Stack = (Stack)stack.clone();
  
        // Displaying the copy of Stack
        System.out.println("The cloned Stack is: "
                           + copy_Stack);
    }
}


Output:

Stack: [10, 15, 30, 20, 5]
The cloned Stack is: [10, 15, 30, 20, 5]
RELATED ARTICLES

Most Popular

Dominic
32346 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6714 POSTS0 COMMENTS
Nicole Veronica
11877 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11940 POSTS0 COMMENTS
Shaida Kate Naidoo
6835 POSTS0 COMMENTS
Ted Musemwa
7094 POSTS0 COMMENTS
Thapelo Manthata
6789 POSTS0 COMMENTS
Umr Jansen
6791 POSTS0 COMMENTS