JAVA队列(Queue)用法附实例讲解
一、功能
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
二、声明
1、声明一个栈的写法,E表示数据类型,name是你给队列起的名字,LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
Queue <E> name = new LinkedList<E>();
2、实例:声明一个名为queue的Integer队列
Queue<Integer> queue = new LinkedList<Integer>();
三、方法
1、boolean offer(E item)
功能:
如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。
实例:
queue.offer(0);
queue.offer(1);
queue.offer(2);
System.out.println(queue);
输出结果:
[0, 1, 2]
以下的实例代码省略入队代码。
2、E peek()
功能:
查看此队列顶部的对象,而不从队列中删除它。
实例:
System.out.println(queue);
int top = queue.peek();
System.out.println("top=" + top);
System.out.println(queue);
结果:
[0, 1, 2]
top=0
[0, 1, 2]
3、E poll()
功能:
检索并删除此队列的头,如果此队列为空,则返回 null 。
实例:
System.out.println(queue);
int top = queue.poll();
System.out.println("top = "+top);
System.out.println(queue);
结果:
[0, 1, 2]
top = 0
[1, 2]
4、其它
add()、element()、remove()方法与offer()、peek()、poll()目的相同,但是仍有区别。
offer(),add() 区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。
poll(),remove() 区别:
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。
peek(),element()区别:
element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。
JAVA队列(Queue)用法附实例讲解相关推荐
- JAVA栈(Stack)用法附实例讲解
一.功能 栈(Stack)是Vector的一个子类,它实现了一个标准的后进先出的栈,也定义了自己的一些方法. 二.声明 1.声明一个栈的写法,E表示数据类型,name是你给栈起的名字,其余为关键字 S ...
- java队列(Queue)用法总结
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 1.队列的特点 队列是一种比较特殊的线 ...
- Java队列 Queue
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120828046 本文出自[赵彦军的博客] Java队列 Queue Java队列 ...
- php中的ltrim,PHP中ltrim()函数的用法与实例讲解
PHP中ltrim()函数的用法与实例讲解 PHP ltrim() 函数 实例 移除字符串左侧的字符: $str = "Hello World!"; echo $str . &qu ...
- C++队列queue用法详解
一.定义 queue是一种容器转换器模板,调用#include< queue>即可使用队列类. 二.queue初始化 queue<Type, Container> (<数 ...
- Java队列Queue
队列Queue是一个先进先出的数据结构:与list.set同一级别,继承了collection接口. Queue的实现 阻塞队列(BolckingQueue) 非阻塞队列 阻塞队列(BolckingQ ...
- java lifo 队列_1.8 Java 队列 Queue、双端队列 Deque - Java 知识总结与学习
queue 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作.该接口扩展了java.util.Collection接口.除了基本的 Collection 操作外,队列还 ...
- java.util.Queue用法
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有元素时,称为空队列. 在队列这 ...
- oracle 删除 queue,C++ stl队列Queue用法介绍:删除,插入等操作代码举例
c++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. C++队列Queue是一种容 ...
最新文章
- 在window平台运行Dubbo的一个小demo
- [J2ME]Nokia播放音乐时发生MediaException的解决办法
- 适合 Kubernetes 初学者的一些实战练习 (五)
- 随机数的生成 java
- 除夕年味年夜饭海报PSD素材,盛了一年的思念
- 一张图11招学会Python网络黑客
- C++11Mutex(互斥锁)详解
- 现代软件工程第六章作业
- 智能静止存在检测方案,5.8G雷达传感技术,人体存在感应雷达应用
- (金税盘版)开票软件,登录提示密钥容器不存在,怎么处理?
- 计算机地图制图的点状符号制作,计算机地图制图地图符号库系统建立..doc
- 基于springboot的校园竞赛报名管理系统
- Zune vs iPod
- 部分更新没有安装 KB4535102
- springboot毕设项目基于SpringBoot的个人理财系统ibx9h(java+VUE+Mybatis+Maven+Mysql)
- web前端简历怎么写?
- js Array的push pop shift unshift 方法
- 考过证券从业资格证的朋友们用的什么APP呢?
- 多个系统间是怎么保证统一登录的
- java 金额计算_java中金额计算
热门文章
- linux pmap 进程信息,linux之pmap命令简介
- 国产CAD_首款国产CAD适配统一操作系统UOS:兼容鲲鹏、兆芯、龙芯等国产CPU
- 产品设计-产品设计五要素
- 学生应该买什么样的笔记本电脑
- 学校计算机室作用意义,学校建设和规划心理咨询室的意义及作用
- java正则表达式空行_通过正则表达式删除空行的方法
- Java红包退款_微信现金红包开发4(JAVA)
- ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)
- Android开发艺术探索 读书笔记
- JS执行机制、同步和异步、宏观任务和微观任务