Java当中的队列

队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。LinkedList链表

以下实例演示了队列(Queue)的用法:

java 复制代码
import java.util.LinkedList;
import java.util.Queue;
 
public class Main {
    public static void main(String[] args) {
        //add()和remove()方法在失败的时候会抛出异常(不推荐)
        Queue<String> queue = new LinkedList<String>();//多态
        //添加元素
        queue.offer("a");
        queue.offer("b");
        queue.offer("c");
        queue.offer("d");
        queue.offer("e");
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("poll="+queue.poll()); //返回第一个元素,并在队列中删除
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("element="+queue.element()); //返回第一个元素 
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("peek="+queue.peek()); //返回第一个元素 
        for(String q : queue){
            System.out.println(q);
        }
    }
}

offer/add:添加;如果满了之后,offer返回false,add报异常。

poll/remove:删除;如果队列为空,poll返回null,remove报异常。

peek/element:查看头部元素;如果队列为空,peek返回null,element报异常。

相关推荐
慧一居士3 小时前
对比两个文件内容是否完全一致,java实现示例
java
ytttr8733 小时前
Qt 数字键盘实现
开发语言·qt
wearegogog1233 小时前
C# .NET 文件比较工具 WinForms
开发语言·c#·.net
再写一行代码就下班3 小时前
Cursor配置Java环境、创建Spring Boot项目的步骤
java·开发语言·spring boot
零陵上将军_xdr3 小时前
后端转全栈学习-Day5-JavaScript 基础-3
开发语言·javascript·学习
摇滚侠3 小时前
Java 零基础全套教程,类的加载过程与类加载器的理解,笔记 189
java·后端·intellij-idea
oqX0Cazj23 小时前
2026超火Go-Zero实战:从架构原理到高并发接口落地,彻底解决接口超时、雪崩问题
开发语言·架构·golang
学会去珍惜3 小时前
C语言简介
c语言·开发语言
思麟呀3 小时前
C++11 核心特性(三):强类型枚举、static_assert 与 std::tuple
开发语言·c++
kong@react3 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker