学习笔记之Java队列Queue中offer/add函数,poll/remove函数,peek/element函数的区别
2024-10-20 11:55:26
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。 LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
Java中Queue有一些常用的方法:
offer、add
poll、remove
peek、element
每一行中的两个函数,实现的功能是一样的,但也有所不同。
offer,add区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。
这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。
poll,remove区别:
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似,
但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。
peek,element区别:
element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null
最新文章
- cookie入门
- 用C++画心(转)
- java栈和堆区别
- 玩坏JVM很简单--toString的递归调用
- Linux 升级 Python 至 3.x
- yum 配置
- HTML5学习记录1-新特性
- [ERROR][org.springframework.web.context.ContextLoader][main] Context initialization failed org.sprin
- 自学Python三 Python中的屠龙刀(续)
- thinkphp用phpexcel读取excel,并修改列中的值,再导出excel,带往excel里写入图片
- 基于Qt的信号分析简单应用软件的设计
- C++中的RAII技法
- 初入servlet:Allocate exception for servlet
- UNIX域协议(无名套接字)
- Jmeter固定定时器(Constant Timer)
- 《大型网站系统与Java中间件实践》
- Win10系列:UWP界面布局进阶6
- STL 源代码剖析 算法 stl_algo.h -- search_n
- 微信小程序:WXML 模板
- 解决IDEA导入Myclipse项目的时候没有识别为Web项目的问题
热门文章
- asp.net core 系列之静态文件
- Redis(四)--- Redis的命令参考
- Python实现ParseDuration-支持解析字符串格式的时间单位,例如将小时或者分钟数转换为秒
- 1.Java概述、安装及环境搭建
- jboss反序列化漏洞复现(CVE-2017-7504)
- 【iOS】Error: Error Domain=PBErrorDomain Code=7 ";Cannot connect to pasteboard server
- jdk1.8源码解析:HashMap底层数据结构之链表转红黑树的具体时机
- Python开发异步任务Celery的使用教程!
- 有容云-【原理】Docker存储驱动之AUFS
- Redis分布式锁实战