Java定义一个队列Queue及操作

2023-10-28

  • 定义一个队列
	//定义一个队列
 	Queue<String> queue = new LinkedList<String>();     
  • 添加元素/入队
	//offer()方法
	queue.offer("a");
	//add()方法在失败的时候会抛出异常(不推荐)
    queue.add("b");
  • 弹出元素/出队
    //返回队头元素,并在队列中删除	
	System.out.println("poll="+queue.poll()); 
  • 获取队头元素
    //返回队头元素 
	System.out.println("element="+queue.element());
	System.out.println("peek="+queue.peek());  //容量为0的时候,element()会抛出异常,peek()返回null。

实例:

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);
       }
   }
}

运行结果为:

a
b
c
d
e
===
poll=a
b
c
d
e
===
element=b
b
c
d
e
===
peek=b
b
c
d
e
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java定义一个队列Queue及操作 的相关文章

随机推荐

  • Philcoin如何提高在宗教方面和当地社区的影响力

    Philcoin如何提高在宗教方面和当地社区的影响力 Philcoin的规模正在快速增长 在短短几周内 社区成员已经超过了10万 并且还在呈指数增长 Philcoin的宗旨是将慈善带到偏远的地方 这具有很大的挑战性 我们知道需要更多伙伴加入
  • 2023.9.8 基于传输层协议 UDP 和 TCP 编写网络通信程序

    目录 UDP 基于 UDP 编写网络通信程序 服务器代码 客户端代码 TCP 基于 TCP 编写网络通信程序 服务器代码 客户端代码 IDEA 打开 支持多客户端模式 UDP 特点 无连接性 发送端和接收端不需要建立连接也可相互通信 且每个
  • 聊聊火出圈的ChatGPT

    前言 OpenAI 近期发布聊天机器人模型 ChatGPT 迅速火爆各大技术网站 就像一个突然激起的巨浪打破了沉寂已久的水面 它的出现无论是对人工智能的资本圈还是技术圈都感受到了春风回暖 前兔似锦的未来 尤记得2015年谷歌开源的Tenso
  • 机器人编程需要c语言吗,机器人编程和计算机编程有什么不一样

    原标题 机器人编程和计算机编程有什么不一样 格物斯坦小坦克就大家关心的机器人编程教育和计算机编程教育做一个对比 这样帮助大家更好地了解二者的共同性和区别 机器人编程的目的是让学生学会组装 搭建和编写程序运行机器人 课程的内容由硬件知识和编程
  • python中super的作用_Python代码中super()函数具有哪些功能呢?

    摘要 下文讲述Python代码中super 函数的功能说明 如下所示 super函数简介 super 函数是Python中的一个内置函数 用来处理多重继承问题中直接用类名调用父类方法 在使用单继承的时候没问题 当使用多继承 会涉及到查找顺序
  • 小米4A刷入breed教程

    已迁移到新的博客 新链接 飞young使用路由器教程 ndsx的博客 CSDN博客https blog csdn net qq 58617843 article details 127381367 csdn share tail 7B 22
  • Go 语言面试题(一):基础语法

    文章目录 Q1 和 的区别 Q2 指针的作用 Q3 Go 允许多个返回值吗 Q4 Go 有异常类型吗 Q5 什么是协程 Goroutine Q6 如何高效地拼接字符串 Q7 什么是 rune 类型 Q8 如何判断 map 中是否包含某个 k
  • Oracle中的序列(Sequence)

    1 什么是序列 序列 SEQUENCE 是序列号生成器 可以为表中的行自动生成序列号 产生一组等间隔的数值 类型为数字 不占用磁盘空间 占用内存 其主要用途是生成表的主键值 可以在插入语句中引用 也可以通过查询检查当前值 或使序列增至下一个
  • 入坑nodemcu,从刷固件到点亮LED,读完这篇文章就够了

    今天进手了一块nodemcu 准备入坑 有兴趣的朋友们 跟着小智手机手学习如何刷Lua固件且运行第一个亮灯实例吧 nodemcu NodeMCU 是一个开源的物联网平台 它包含了可以运行在esp8266 Wi FiSoC芯片之上的固件 以及
  • 一个C#操作Excel类,功能比较全

    using System using System Data using System Configuration using System Web using Microsoft Office Interop using Microsof
  • 【STM32】系统时钟RCC详解(超详细,超全面)

    RCC Reset and Clock Control 复位和时钟控制 在绝大部分MCU芯片中都包含复位和时钟控制模块 也是MCU重要的组成部分 相比于以前51单片机 现在STM32内部集成的时钟模块功能更加丰富 包含时钟选择 倍频 输出
  • Vue.js基础知识解析:Vue绑定

    文章目录 Vue绑定 类绑定 对象语法 数组语法 样式绑定 对象语法 数组语法 常见绑定 文本绑定 属性绑定 事件绑定 Vue绑定 Vue js 是一种流行的前端 JavaScript 框架 用于构建交互式的用户界面 在 Vue 中 有多种
  • 微信小程序.日期组件

    缘起 微信小程序官方提供的picker样式不好控制 跟其他样式不统一 也没法进行其他操作 不如自定义一个 使用 picker view封装为一个组件 代码现成 直接复制过去用吧 效果 组件代码 haiweidate wxml
  • msgpack c++的使用

    msgpack C 的使用 一 MessagePack 是什么 二 msgpack的使用 三 总结 一 MessagePack 是什么 MessagePack 是一种高效的二进制序列化格式 二 msgpack的使用 include
  • 安卓(Android)的原生系统真的那么好用吗

    定制系统有定制系统的优点 它一定更适合中国的大众用户 毕竟中国的大众用户甚至连微信调整一个功能都可能不会使用了 学习成本 这种东西能不要就不要 在 Android 9 0 之前也一定更适合中国的 Android 软件环境 原生 Androi
  • tomcat如何增大并发_【高并发】高并发环境下如何优化Tomcat性能?看完我懂了!...

    写在前面 Tomcat作为最常用的Java Web服务器 随着并发量越来越高 Tomcat的性能会急剧下降 那有没有什么方法来优化Tomcat在高并发环境下的性能呢 Tomcat运行模式 Tomcat的运行模式有3种 1 bio模式 默认的
  • Doxygen和VS助手配置代码注释模板

    Title FileNote Shortcut filenote Description 文件注释 Copyright c YEAR xx科技有限公司 http blog csdn net stelalala All rights rese
  • android ios通用OTG,被忽视的iOS13福利:OTG随心读写移动SSD

    被忽视的iOS13福利 OTG随心读写移动SSD 2019 09 22 15 58 14 11点赞 59收藏 29评论 iOS13带来了深色模式 HapticTouch等众多新功能 但很少有人提到OTG读取优盘 移动固态硬盘的新增特性 所需
  • MySQL视图详解

    今天继续给大家介绍MySQL相关知识 本文主要内容是MySQL视图 一 MySQL视图详解 MySQL引入了视图的概念 所谓视图 其实就是一张虚拟的数据表 该数据表与其他普通数据表一样 有列和属性 视图和普通的数据表唯一不同的是 视图中本身
  • Java定义一个队列Queue及操作

    定义一个队列 定义一个队列 Queue