在Java中Stack類(lèi)與其他數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換

小樊
81
2024-09-23 21:54:37

在Java中,Stack類(lèi)是一個(gè)基于Deque實(shí)現(xiàn)的LIFO(后進(jìn)先出)數(shù)據(jù)結(jié)構(gòu)。你可以輕松地將Stack類(lèi)與其他數(shù)據(jù)結(jié)構(gòu)進(jìn)行轉(zhuǎn)換,例如將Stack轉(zhuǎn)換為ArrayListLinkedList。

以下是如何將Stack轉(zhuǎn)換為ArrayListLinkedList的示例:

  1. Stack轉(zhuǎn)換為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);
    }
}
  1. Stack轉(zhuǎn)換為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);
    }
}

在這兩個(gè)示例中,我們首先創(chuàng)建了一個(gè)Stack對(duì)象并添加了一些元素。然后,我們使用相應(yīng)的構(gòu)造函數(shù)將Stack對(duì)象轉(zhuǎn)換為ArrayListLinkedList對(duì)象。最后,我們打印出轉(zhuǎn)換后的數(shù)據(jù)結(jié)構(gòu)。

需要注意的是,Stack類(lèi)已經(jīng)實(shí)現(xiàn)了Deque接口,因此你可以直接將Stack對(duì)象傳遞給期望Deque類(lèi)型參數(shù)的構(gòu)造函數(shù)。

0