Open In App

Stack clone() method in Java with Example

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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

// Java code to illustrate clone()
import java.util.*;

// Driver Class
public class StackDemo {
      // Main Method
    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

// Java code to illustrate clone()
import java.util.*;

// Driver Class
public class StackDemo {
      // Main Method
    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]


Last Updated : 10 Mar, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads