在Java中,Stack
类是一个基于Deque
实现的LIFO(后进先出)数据结构。你可以轻松地将Stack
类与其他数据结构进行转换,例如将Stack
转换为ArrayList
或LinkedList
。
以下是如何将Stack
转换为ArrayList
和LinkedList
的示例:
Stack
转换为ArrayList
:import java.util.ArrayList;
import java.util.Stack;
public class StackToArray {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
ArrayList<Integer> arrayList = new ArrayList<>(stack);
System.out.println("ArrayList: " + arrayList);
}
}
Stack
转换为LinkedList
:import java.util.LinkedList;
import java.util.Stack;
public class StackToLinkedList {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
LinkedList<Integer> linkedList = new LinkedList<>(stack);
System.out.println("LinkedList: " + linkedList);
}
}
在这两个示例中,我们首先创建了一个Stack
对象并添加了一些元素。然后,我们使用相应的构造函数将Stack
对象转换为ArrayList
和LinkedList
对象。最后,我们打印出转换后的数据结构。
需要注意的是,Stack
类已经实现了Deque
接口,因此你可以直接将Stack
对象传递给期望Deque
类型参数的构造函数。