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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DeepFakes深度造假,AI换脸的技术原理是什么?

    DeepFakes深度造假,AI换脸的技术原理是什么?DeepFakes的出现还意味着我们可以在视频中进行大规模的“换脸”。我们大多数人都曾经把自己的照片上传到网络上,因此,我们大多数人的脸都能够轻易地被替换到一些视频中,成为视频的“主角”,凭空捏造一个人根本没有干过的事。不得不说,这是件非常可怕的事情。

    2022年5月25日
    46
  • 约瑟夫环——公式法(递推公式)

    约瑟夫环——公式法(递推公式)约瑟夫问题约瑟夫问题是个有名的问题:N个人围成一圈,第一个从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个个人,把他们叫做A、B、C围成一圈,从A开始报数,报2的人被杀掉。A开始报数,他报1。侥幸逃过一劫。然后轮到B报数,他报2。非常惨,他被杀了C接着从1开始报数然后轮到A报数,他报2。也被杀死了。最终胜利者是C解决方案普通解

    2022年5月4日
    47
  • SimpleDateFormat不是线程安全的

    SimpleDateFormat不是线程安全的

    2021年8月14日
    37
  • OpenGL中的投影使用

    OpenGL中的投影使用

    2021年11月28日
    39
  • python实现交叉验证_kfold显示不可迭代

    python实现交叉验证_kfold显示不可迭代KFold模块fromsklearn.model_selectionimportKFold为什么要使用交叉验证?交叉验证的介绍交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在…

    2022年9月20日
    2
  • Java面试题目,Java中级面试题及答案整理(1)

    Java面试题目,Java中级面试题及答案整理(1)(5)GlobalSession:这个只在portal应用中有用,给每一个globalhttpsession新建一个Bean实例。5、Spring事务传播行为所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。在TransactionDefinition定义中包括了如下几个表示传播行为的常量:TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务;如果当前没有

    2022年8月31日
    4

发表回复

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

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