Queue接口遵循FIFO原则,LinkedList实现Queue可用于队列操作;2. 推荐使用offer、poll、peek方法避免异常;3. 非并发场景用LinkedList,线程安全场景选用ConcurrentLinkedQueue或ArrayBlockingQueue。

在Java中,Queue 是一个用于表示队列的接口,遵循“先进先出”(FIFO)的原则。元素从队尾入队,从队头出队。Java中的 LinkedList 类不仅实现了 List 接口,还实现了 Queue 接口,因此可以用作队列使用。
Queue 接口常用方法
Queue 接口定义了一些基本操作,常见的方法包括:
- add(e):将元素插入队列,成功返回 true,队列满时抛出异常
- offer(e):将元素插入队列,成功返回 true,失败返回 false(更推荐使用)
- remove():移除并返回队头元素,队列为空时抛出异常
- poll():移除并返回队头元素,队列为空时返回 null
- element():返回但不移除队头元素,队列为空时抛出异常
- peek():返回但不移除队头元素,队列为空时返回 null
LinkedList 实现 Queue
LinkedList 是一个双向链表结构,天然适合实现队列行为。它实现了 Queue 接口,可以直接调用上述方法。
示例代码:
BJXShop网上购物系统是一个高效、稳定、安全的电子商店销售平台,经过近三年市场的考验,在中国网购系统中属领先水平;完善的订单管理、销售统计系统;网站模版可DIY、亦可导入导出;会员、商品种类和价格均实现无限等级;管理员权限可细分;整合了多种在线支付接口;强有力搜索引擎支持... 程序更新:此版本是伴江行官方商业版程序,已经终止销售,现于免费给大家使用。比其以前的免费版功能增加了:1,整合了论坛
立即学习“Java免费学习笔记(深入)”;
Queuequeue = new LinkedList<>(); queue.offer("A"); queue.offer("B"); queue.offer("C"); System.out.println(queue.peek()); // 输出 A System.out.println(queue.poll()); // 输出 A System.out.println(queue.poll()); // 输出 B System.out.println(queue.isEmpty()); // 输出 false
使用建议
在实际开发中,如果需要一个简单的队列结构,使用 LinkedList 实现 Queue 是常见做法。注意选择安全的方法:
- 优先使用 offer 而不是 add,避免异常
- 优先使用 poll 和 peek,而不是 remove 和 element,防止空指针异常
- 当需要线程安全时,应考虑使用 ConcurrentLinkedQueue 或 ArrayBlockingQueue









