📅  最后修改于: 2023-12-03 14:42:56.499000             🧑  作者: Mango
在Java的语言中,堆栈(Stack)是一种后进先出(LIFO)的数据结构。它的基本操作有入栈(push)和出栈(pop)。
其中,copyInto()方法是堆栈类中的一个重要方法,它可以将堆栈中的元素复制到指定的数组中。
public synchronized void copyInto(Object[] anArray)
anArray: 要复制到其中的新数组。
无返回值。
import java.util.Stack;
public class StackCopyIntoExample {
public static void main(String[] args) {
Stack<String> stack = new Stack<>();
// 压入元素
stack.push("apple");
stack.push("banana");
stack.push("orange");
stack.push("grape");
String[] fruits = new String[stack.size()];
// 将堆栈中的元素复制到新数组中
stack.copyInto(fruits);
// 输出新数组中的元素
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
输出结果为:
grape
orange
banana
apple
在上述示例中,我们创建了一个字符串类型的堆栈,并向其中压入了四个不同的水果。然后,我们创建了一个与堆栈元素数量相同的字符串数组,最后使用copyInto()方法将堆栈中的元素复制到新数组中,并对新数组中的元素进行遍历并输出。
使用copyInto()方法进行复制时必须确保目标数组的大小与堆栈元素数量相同,否则将抛出ArrayIndexOutOfBoundsException异常。此外,使用此方法时必须注意数组中元素的顺序,因为堆栈是后进先出的数据结构。