在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
類型參數的構造函數。