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]