源代码

import java.util.ArrayDeque;
import java.util.PriorityQueue;
import java.util.Queue;

public class liedui {
    public static void main(String[] args) {
        // 使用 ArrayDeque 作为普通队列
        System.out.println("使用 ArrayDeque 作为普通队列:");
        Queue arrayDequeQueue = new ArrayDeque<>();
        arrayDequeQueue.add(10);
        arrayDequeQueue.add(20);
        arrayDequeQueue.add(30);
        arrayDequeQueue.add(40);
        arrayDequeQueue.add(50);

        System.out.println("队列头部元素:" + arrayDequeQueue.peek());
        System.out.println("移除队列头部元素:" + arrayDequeQueue.poll());
        System.out.println("队列当前状态:" + arrayDequeQueue);

        // 使用 PriorityQueue 作为优先队列
        System.out.println("\n使用 PriorityQueue 作为优先队列:");
        PriorityQueue priorityQueue = new PriorityQueue<>();
        priorityQueue.add(30);
        priorityQueue.add(10);
        priorityQueue.add(50);
        priorityQueue.add(20);
        priorityQueue.add(40);

        System.out.println("优先队列头部元素(优先级最高):" + priorityQueue.peek());
        System.out.println("移除优先队列头部元素:" + priorityQueue.poll());
        System.out.println("优先队列当前状态:" + priorityQueue);
    }
}

运行结果

使用 ArrayDeque 作为普通队列: 队列头部元素:10 移除队列头部元素:10 队列当前状态:[20, 30, 40, 50] 使用 PriorityQueue 作为优先队列: 优先队列头部元素(优先级最高):10 移除优先队列头部元素:10 优先队列当前状态:[20, 30, 40, 50]