Java 中队列的使用

摘要:
O~看看代码:importjava。util。链接列表;导入java.util。队列PublicclassTestQueue{/***@paramargs*@authorJavaAlpha*信息测试队列*/publicstaticvoidmain{Queue<String>Queue=newLinkedList<String>();Queue.offer(“1”);//插入元素Queue.offere(“2”);Queue.affer(”3“);//打印元元素的数量System.out.println;//在安装和插入时按顺序打印所有元素。对于{System.out.Print ln;}}打印内容:queue Size()3123以下是API中队列的描述:publicinterfaceQueue<E>extendsCollection<E>用于在处理元素之前保存元素集合。除了主要的收集操作外,队列还提供其他插入、提取和检查操作。抛出异常,返回一个特殊值,插入addoffer,删除remove()poll(),检查元素()peek()队列,通常以FIFO方式对元素进行排序。其他类型的队列可以使用不同的元素放置规则。remove()和poll()方法移除并返回队列的标头。

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

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

看代码:

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

public interface Queue<E>
extends Collection<E>

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

 抛出异常返回特殊值
插入add(e)offer(e)
移除remove()poll()
检查element()peek()

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

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

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

element()peek() 返回,但不移除,队列的头。

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

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

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

免责声明:文章转载自《Java 中队列的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇增量检查点和完全检查点Hive的执行生命周期下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

mini.DataGrid使用说明

√√√ ajaxOptionsObjectajax配置对象。√√√ idFieldString是行数据的唯一字段。设置为“client”之后,客户端将排序√√√√ totalCountNumber记录总数√√√ defaultColumnWidthNumber默认列宽100√√√√ showColumnsBoolean显示标头true√√√√ showPag...

关于服务器并发量的简单计算

最简单的计算方式就是根据服务器带宽与页面的大小1.假设机房带宽为10Mbs,页面的大小为20KB同时并发量的理论值:10*1024/=64个请求/秒理论上1秒钟同时可以有64个请求访问页面。本考试系统,登陆的页面容量比较大,所有的js,css以及图片未优化前在400KB左右,我们就以400KB为基准,所有后面要用的文件是在首页一次性加载下来的。这一天的测评情...

汇编指令MOV

格式:MOVDST,SRC例如:MOVEAX,#050aH;将十六进制050a传送到通用寄存器eax中MOVDI,BXMOVES,AXMOVAX,DSMOVAL,23HMOV[2000H],02HMOV[2061H],BX...

layui table 打印表格

例如,layui的表单打印方法是将表单的数据重新组合成新页面,但它只能打印当前页面的内容。仅仅说实话是不够的。我整个上午都找到了一些,并说他们自己换了,但他们并不满意。这没用。我只能打印当前页面的内容。我的想法是编写一个函数,传递显示的列和要打印的数据,然后直接打印。不要胡说八道。直接转到代码。...

海康、大华网络摄像机RTSP URL格式组成及参数配置

1.海康相机在IE浏览器中输入网络摄像头的IP地址,输入配置的用户名和密码,然后登录:视频:1。比特率类型:主流和子流,主流支持的分辨率相对较高;2.视频类型:如果需要音频和视频,则选择“复合流”;如果只需要视频,则选择“视频流”;3.分辨率设置不重复;4.码率类型:代码更改率!!!...

图卷积神经网络(GCN)入门

不得不专门为GCN开一个新篇章,表示其重要程度。图卷积神经网络,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。总地来说,图数据既要考虑节点信息,也要考虑结构信息,图卷积神经网络就可以自动化地既学习节点特征,又能学习节点与节点之间的关联信息。GCN的本质目的就是用来提取拓扑图的空间特征。理解图卷积神经网络主要有两类,一类是基于空间域或顶...