跳转至

Queue集合

定义

Queue是Java中表示队列的接口,它继承自Collection接口,用于存储一组等待处理的元素,遵循先进先出(FIFO)的原则。

作用

Queue集合在实际开发中具有以下重要价值:

  1. 任务调度:管理待处理的任务队列
  2. 消息处理:实现消息队列和事件处理
  3. 缓冲机制:作为数据缓冲区使用
  4. 并发控制:支持线程安全的队列操作
  5. 优先级处理:支持优先级队列实现

图表说明

重要

  • 现实项目中直接使用Queue比较少(原因是这个数据结构不够强,譬如重启后内存信息丢失)
  • 但是请牢记这张图,因为在实际项目中使用到队列的地方很多
  • 在实际项目中,会将向队列中推送消息的代码或服务,成为生产者;而从消息中取信息,用于后续处理的代码或服务,称之为消费者

例子

import java.util.LinkedList;
import java.util.Queue;

public class QueueDemo {
    public static void main(String[] args) {
        // 普通队列示例
        Queue<String> queue = new LinkedList<>();
        queue.offer("任务1");
        queue.offer("任务2");
        queue.offer("任务3");

        System.out.println("队列大小: " + queue.size());
        System.out.println("队首元素: " + queue.peek());

        // 处理队列中的任务
        while (!queue.isEmpty()) {
            String task = queue.poll();
            System.out.println("处理任务: " + task);
        }
    }
}

执行结果

队列大小: 3
队首元素: 任务1
处理任务: 任务1
处理任务: 任务2
处理任务: 任务3