博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 中队列的使用
阅读量:7240 次
发布时间:2019-06-29

本文共 1571 字,大约阅读时间需要 5 分钟。

刚才看见群里的一个朋友在问队列的使用,确实在现实的写代码中非常少使用队列的,反正我是从来没使用过。仅仅是学数据结构的时候学过。

以下是我写的一个小样例,希望有不足之处请提出改正。O(∩_∩)O~

看代码:

import java.util.LinkedList; import java.util.Queue; public class TestQueue { /** * @param args * @author JavaAlpha * Info 測试队列 */ public static void main(String[] args) { Queue<String> queue = new LinkedList<String>(); queue.offer("1");//插入一个元素 queue.offer("2"); queue.offer("3"); //打印元素个数 System.out.println("queue.size()"+queue.size()); //遍历打印全部的元素,安装插入是顺序打印 for (String string : queue) { System.out.println(string); } } } 打印内容: queue.size()3 1 2 3

 

以下是API中对队列的说明:

 

public interface Queue
extends <E>

在处理元素前用于保存元素的 collection。除了主要的 操作外,队列还提供其它的插入、提取和检查操作。每一个方法都存在两种形式:一种抛出异常(操作失败时),还有一种返回一个特殊值(nullfalse,详细取决于操作)。插入操作的后一种形式是用于专门为有容量限制的 Queue 实现设计的;在大多数实现中,插入操作不会失败。

  抛出异常 返回特殊值
插入
移除
检查

队列通常(但并不是一定)以 FIFO(先进先出)的方式排序各个元素。只是优先级队列和 LIFO 队列(或堆栈)例外,前者依据提供的比較器或元素的自然顺序对元素进行排序,后者按 LIFO(后进先出)的方式对元素进行排序。不管使用哪种排序方式,队列的 都是调用 或 所移除的元素。在 FIFO 队列中,全部的新元素都插入队列的末尾。其它种类的队列可能使用不同的元素放置规则。每一个 Queue 实现必须指定其顺序属性。

假设可能, 方法可插入一个元素,否则返回 false。这与 方法不同,该方法仅仅能通过抛出未经检查的异常使加入元素失败。offer 方法设计用于正常的失败情况,而不是出现异常的情况,比如在容量固定(有界)的队列中。

和 方法可移除和返回队列的头。究竟从队列中移除哪个元素是队列排序策略的功能,而该策略在各种实现中是不同的。remove()poll() 方法仅在队列为空时其行为有所不同:remove() 方法抛出一个异常,而 poll() 方法则返回 null

和 返回,但不移除,队列的头。

Queue 接口并没有定义堵塞队列的方法,而这在并发编程中是非经常见的。 接口定义了那些等待元素出现或等待队列中有可用空间的方法,这些方法扩展了此接口。

Queue 实现通常不同意插入 null 元素,虽然某些实现(如 )并不禁止插入 null。即使在同意 null 的实现中,也不应该将 null 插入到 Queue 中,由于 null 也用作 poll 方法的一个特殊返回值,表明队列不包括元素。

Queue 实现通常没有定义 equalshashCode 方法的基于元素的版本号,而是从 Object 类继承了基于身份的版本号,由于对于具有同样元素但有不同排序属性的队列而言,基于元素的相等性并不是总是定义良好的。

 

转载地址:http://cdybm.baihongyu.com/

你可能感兴趣的文章
关于相对布局RelativeLayout的各种属性介绍
查看>>
LOJ#2087 国王饮水记
查看>>
Shell编程中的变量作用域
查看>>
数位DP
查看>>
PLSQL Convert Object to String
查看>>
Linux 串口驱动设计二
查看>>
jQuery方法判断checkbox是否选中以及改变checkbox的选中状态
查看>>
CSS样式设置小技巧
查看>>
PDF 补丁丁 0.4.2.1063 测试版发布:新增检查新版本功能
查看>>
Module的加载实现
查看>>
统计学 学习第一季第一集《统计学习方法》第一章 统计学方法概论 简要概述...
查看>>
css学习_css补充知识
查看>>
python 08day--软件包的管理及ssh、samba、apache服务
查看>>
ThinkPPHP学习(一)生成图片验证码
查看>>
KFC ajax
查看>>
学长哈哈的店公告
查看>>
python 读取 xlsx
查看>>
ethereum/EIPs-1271 smart contract
查看>>
Football
查看>>
java中文件上传下载将file转为MultipartFile
查看>>