1. 从 ArrayList 转换为 Deque

可以使用 ArrayDeque 来创建一个双端队列并将 ArrayList 中的元素添加到其中。

import java.util.ArrayList;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayList
        List<Integer> arrayList = new ArrayList<>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);

        // 从 ArrayList 转换为 Deque
        Deque<Integer> deque = new ArrayDeque<>(arrayList);

        // 打印 Deque
        System.out.println("Deque: " + deque);
    }
}

2. 从 Deque 转换为 ArrayList

可以使用 ArrayList 的构造函数将 Deque 中的元素添加到 ArrayList 中。

import java.util.ArrayList;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        // 创建一个 Deque
        Deque<Integer> deque = new ArrayDeque<>();
        deque.add(1);
        deque.add(2);
        deque.add(3);

        // 从 Deque 转换为 ArrayList
        List<Integer> arrayList = new ArrayList<>(deque);

        // 打印 ArrayList
        System.out.println("ArrayList: " + arrayList);
    }
}

总结

  • ArrayListDeque:可以通过 ArrayDeque 的构造函数直接将 ArrayList 转换为 Deque
  • DequeArrayList:使用 ArrayList 的构造函数将 Deque 中的元素添加到新的 ArrayList 中。

这种转换在需要同时使用数组特性和双端队列特性时非常有用。