温馨提示×

在Java中Stack类与其他数据结构的转换

小樊
81
2024-09-23 21:54:37
栏目: 编程语言

在Java中,Stack类是一个基于Deque实现的LIFO(后进先出)数据结构。你可以轻松地将Stack类与其他数据结构进行转换,例如将Stack转换为ArrayListLinkedList

以下是如何将Stack转换为ArrayListLinkedList的示例:

  1. 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);
    }
}
  1. 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对象转换为ArrayListLinkedList对象。最后,我们打印出转换后的数据结构。

需要注意的是,Stack类已经实现了Deque接口,因此你可以直接将Stack对象传递给期望Deque类型参数的构造函数。

0