📜  Java中的堆栈 clone() 方法与示例

📅  最后修改于: 2022-05-13 01:54:37.902000             🧑  作者: Mango

Java中的堆栈 clone() 方法与示例

Stack 类的clone()方法用于返回此 Stack 的浅拷贝。它只是创建堆栈的副本。副本将引用内部数据数组的克隆,但不会引用原始内部数据数组。

句法:

Stack.clone()

参数:该方法不带任何参数。

返回值:该方法返回一个对象,它只是堆栈的副本。

异常:如果对象的类不支持 Cloneable 接口,此方法将引发CloneNotSupportedException

下面的程序说明了Java.util.Stack.clone() 方法:

方案一:

// Java code to illustrate clone()
  
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
        // Creating an empty Stack
        Stack stack = new Stack();
  
        // 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);
    }
}
输出:
Stack: [Welcome, To, Geeks, 4, Geeks]
The cloned Stack is: [Welcome, To, Geeks, 4, Geeks]

方案二:

// Java code to illustrate clone()
  
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
        // Creating an empty Stack
        Stack stack = new Stack();
  
        // 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);
    }
}
输出:
Stack: [10, 15, 30, 20, 5]
The cloned Stack is: [10, 15, 30, 20, 5]