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报异常。

相关推荐
骁的小小站2 分钟前
HDLBits刷题笔记和一些拓展知识(十一)
开发语言·经验分享·笔记·其他·fpga开发
Jtti4 分钟前
如何准确查看服务器网络的利用率?
开发语言·php
人生在勤,不索何获-白大侠9 分钟前
day17——Java集合进阶(Collections、Map)
java·开发语言
程序员小羊!21 分钟前
Java教程:JavaWeb ---MySQL高级
java·开发语言·mysql
m0_7231402328 分钟前
Python训练营-Day49
开发语言·python
白仑色28 分钟前
Spring Boot 多环境配置详解
java·spring boot·后端·微服务架构·配置管理
超级小忍31 分钟前
在 Spring Boot 中优化长轮询(Long Polling)连接频繁建立销毁问题
java·spring boot·后端
David爱编程35 分钟前
Java 中 Integer 为什么不是万能的 int 替代品?
java·后端
老马啸西风37 分钟前
个人网站一键引入免费开关评论功能 giscus
java
Z_W_H_1 小时前
【springboot】IDEA手动创建SpringBoot简单工程(无插件)
java·spring boot·intellij-idea