java 队列方法详解「建议收藏」

java 队列方法详解「建议收藏」一、队列支持的方法(Queue) throwexception returnspecialvalue insert add 1、增加元素不能为null 2、其他异常,比如有界队列 offer 1、元素不能为null 2、实现内部调用addF…

大家好,又见面了,我是你们的朋友全栈君。

一、队列支持的方法(Queue)

 

throw exception

return special value

insert

add

1、增加元素不能为null

2、其他异常,比如有界队列

offer

1、元素不能为null

2、实现内部调用addFirst,既也可能抛出异常

remove

remove

队列空时:NoSuchElementException

poll

队列空时:return null

examine

element

队列空时:NoSuchElementException

peek

队列空时:return null

 

二、双端队列(Deque)

        Deque继承自Queue接口,可以作为单端队列使用

 

队头操作(Head)

队尾操作(Tail)

 

throw exception

return special value

throw exception

return special value

Insert

addFirst

1、增加元素不能为null

2、其他异常,比如有界队列

offerFirst

1、元素不能为null

2、实现内部调用addFirst,既也可能抛出异常

addLast

同addFirst

offerLast

1、元素不能为null

2、实现内部调用addFirst,既也可能抛出异常

remove

romoveFirst

队列空时:NoSuchElementException

也就是说,使用时必须判空

pollFirst

队列空时:return null

removeLast

队列空时:NoSuchElementException

pollLast

队列空时:return null

examine

getFirst (变态,element成了get)

队列空时:NoSuchElementException

使用时必须判空

peekFirst

队列空时:return null

getLast

队列空时:NoSuchElementException

peekLast

队列空时:return null

三、栈

Deque定义了LIFO的栈操作

栈方法

内部调用

备注

push

 

addFirst

1、元素不能为空

2、可能抛出异常,内部调用的是addFirst

pop

removeFirst

队列空时,会抛出异常NoSuchElementException

peek

peekFirst

return special value

四、阻塞队列BlockingQueue

 

Throws exception

Special value

Blocks

Times out

insert

add(e)

offer(e)

put(e)

offer(e, time, unit)

remove

remove()

poll()

take()

poll(time, unit)

examine

element()

peek()

 

单词不够用了吧

五、队列框架图

脉络只是主要的继承或实现脉络,没有包括collection等相关的接口或类实现脉络

java 队列方法详解「建议收藏」

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156656.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • uuid生成唯一数字_java组件有哪些

    uuid生成唯一数字_java组件有哪些UUID含义是通用唯一识别码(UniversallyUniqueIdentifier),这是一个软件建构的标准,也是被开源软件基金会(OpenSoftwareFoundation,OSF)的组织在分布式计算环境(DistributedComputingEnvironment,DCE)领域的一部份。UUID的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需

    2022年9月22日
    4
  • 新人学习EJB!ejb到底是什么?[通俗易懂]

    1. 我们不禁要问,什么是”服务集群”?什么是”企业级开发”? 既然说了EJB是为了”服务集群”和”企业级开发”,那么,总得说说什么是所谓的”服务集群”和”企业级开发”吧!这个问题其实挺关键的,因为J2EE中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB什么时候不用。于是大家都产生一些联想,认为EJB”分布式运算”指得是”负载均衡”提高系统的运行效率

    2022年4月5日
    249
  • hibernate的关联与级联

    hibernate的关联与级联hibernate的关联与级联

    2022年4月22日
    45
  • 【知识普及】平板的屏幕分辨率和屏幕比例_和平精英平板分辨率

    【知识普及】平板的屏幕分辨率和屏幕比例_和平精英平板分辨率针对IOS,Android手机分辨率大小、屏幕尺寸、开发尺寸的参考。在实际页面的开发过程,往往显示屏幕的宽度换算为像素尺寸的1/2。IOS:6.5英寸——1242x2688px——XsMax6.1英寸——828x1792px——XR5.8英寸——1125x2436px——X/Xs5.5英寸——1242x2208px——6+…

    2022年8月13日
    4
  • php httponly_php如何设置httponly

    php httponly_php如何设置httponlyphp设置httponly的方法:首先找到并打开“php.ini”文件;然后设置“session.cookie_httponly”项的值为1或者TRUE;接着通过“setrawcookie”方法开启即可。PHP设置Cookie的HTTPONLY属性httponly是微软对cookie做的扩展。这个主要是解决用户的cookie可能被盗用的问题。大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些c…

    2022年6月16日
    38
  • 乌班图docker版本18.04升级到19.03[通俗易懂]

    乌班图docker版本18.04升级到19.03[通俗易懂]#关闭dockersudosystemctlstopdocker#卸载旧版本:sudoapt-getpurgedocker-ce#安装新版本sudoaptupdatesudoapt-get-yinstallapt-transport-httpsca-certificatescurlsoftware-properties-co…

    2022年7月12日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号