一、功能

队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。

二、声明

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)用法附实例讲解相关推荐

  1. JAVA栈(Stack)用法附实例讲解

    一.功能 栈(Stack)是Vector的一个子类,它实现了一个标准的后进先出的栈,也定义了自己的一些方法. 二.声明 1.声明一个栈的写法,E表示数据类型,name是你给栈起的名字,其余为关键字 S ...

  2. java队列(Queue)用法总结

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 1.队列的特点 队列是一种比较特殊的线 ...

  3. Java队列 Queue

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120828046 本文出自[赵彦军的博客] Java队列 Queue Java队列 ...

  4. php中的ltrim,PHP中ltrim()函数的用法与实例讲解

    PHP中ltrim()函数的用法与实例讲解 PHP ltrim() 函数 实例 移除字符串左侧的字符: $str = "Hello World!"; echo $str . &qu ...

  5. C++队列queue用法详解

    一.定义 queue是一种容器转换器模板,调用#include< queue>即可使用队列类. 二.queue初始化 queue<Type, Container> (<数 ...

  6. Java队列Queue

    队列Queue是一个先进先出的数据结构:与list.set同一级别,继承了collection接口. Queue的实现 阻塞队列(BolckingQueue) 非阻塞队列 阻塞队列(BolckingQ ...

  7. java lifo 队列_1.8 Java 队列 Queue、双端队列 Deque - Java 知识总结与学习

    queue 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作.该接口扩展了java.util.Collection接口.除了基本的 Collection 操作外,队列还 ...

  8. java.util.Queue用法

    队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有元素时,称为空队列. 在队列这 ...

  9. oracle 删除 queue,C++ stl队列Queue用法介绍:删除,插入等操作代码举例

    c++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. C++队列Queue是一种容 ...

最新文章

  1. 在window平台运行Dubbo的一个小demo
  2. [J2ME]Nokia播放音乐时发生MediaException的解决办法
  3. 适合 Kubernetes 初学者的一些实战练习 (五)
  4. 随机数的生成 java
  5. 除夕年味年夜饭海报PSD素材,盛了一年的思念
  6. 一张图11招学会Python网络黑客
  7. C++11Mutex(互斥锁)详解
  8. 现代软件工程第六章作业
  9. 智能静止存在检测方案,5.8G雷达传感技术,人体存在感应雷达应用
  10. (金税盘版)开票软件,登录提示密钥容器不存在,怎么处理?
  11. 计算机地图制图的点状符号制作,计算机地图制图地图符号库系统建立..doc
  12. 基于springboot的校园竞赛报名管理系统
  13. Zune vs iPod
  14. 部分更新没有安装 KB4535102
  15. springboot毕设项目基于SpringBoot的个人理财系统ibx9h(java+VUE+Mybatis+Maven+Mysql)
  16. web前端简历怎么写?
  17. js Array的push pop shift unshift 方法
  18. 考过证券从业资格证的朋友们用的什么APP呢?
  19. 多个系统间是怎么保证统一登录的
  20. java 金额计算_java中金额计算

热门文章

  1. linux pmap 进程信息,linux之pmap命令简介
  2. 国产CAD_首款国产CAD适配统一操作系统UOS:兼容鲲鹏、兆芯、龙芯等国产CPU
  3. 产品设计-产品设计五要素
  4. 学生应该买什么样的笔记本电脑
  5. 学校计算机室作用意义,学校建设和规划心理咨询室的意义及作用
  6. java正则表达式空行_通过正则表达式删除空行的方法
  7. Java红包退款_微信现金红包开发4(JAVA)
  8. ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)
  9. Android开发艺术探索 读书笔记
  10. JS执行机制、同步和异步、宏观任务和微观任务