Queue集合
定义
Queue是Java中表示队列的接口,它继承自Collection接口,用于存储一组等待处理的元素,遵循先进先出(FIFO)的原则。
作用
Queue集合在实际开发中具有以下重要价值:
- 任务调度:管理待处理的任务队列
- 消息处理:实现消息队列和事件处理
- 缓冲机制:作为数据缓冲区使用
- 并发控制:支持线程安全的队列操作
- 优先级处理:支持优先级队列实现
图表说明
重要
- 现实项目中直接使用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