java集合之Queue
2015-11-12 09:51
169 查看
Queue:除了基本的Collection操作外,队列还提供其他的插入、提取和检查操作。每个方法都存在两种形
式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false,具体取决于操作)。插入操作
的后一种形式是用于专门为有容量限制的Queue实现设计的;在大多数实现中,插入操作不会失败。
Queue接口并未定义阻塞队列的方法,而这在并发编程中是很常见的。
Queue实现通常不允许插入null元素,通常某些实现(如LinkedList)并不禁止插入null。即使在允许null
的实现中,也不应该将null插入到Queue队列中,因为null也用作poll方法的一个特殊返回值,表明队列不
包含元素。
boolean add(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功是返回true,
如果当前没有可用的空间,则抛出IllegalStateException.
E element();获取,但是不移除此队列的头。
boolean offer(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),但是用有容量限制
的队列时,此方法通常要优于add(E),后者可能无法插入元素,而只是抛出一个异常。
E peek();获取但不移除此队列的头,如果队列为空,则返回null。
E pool();获取并移除此队列的头,如果队列为空,则返回null。
E remove();获取并移除此队列的头。
式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false,具体取决于操作)。插入操作
的后一种形式是用于专门为有容量限制的Queue实现设计的;在大多数实现中,插入操作不会失败。
Queue接口并未定义阻塞队列的方法,而这在并发编程中是很常见的。
Queue实现通常不允许插入null元素,通常某些实现(如LinkedList)并不禁止插入null。即使在允许null
的实现中,也不应该将null插入到Queue队列中,因为null也用作poll方法的一个特殊返回值,表明队列不
包含元素。
boolean add(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功是返回true,
如果当前没有可用的空间,则抛出IllegalStateException.
E element();获取,但是不移除此队列的头。
boolean offer(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),但是用有容量限制
的队列时,此方法通常要优于add(E),后者可能无法插入元素,而只是抛出一个异常。
E peek();获取但不移除此队列的头,如果队列为空,则返回null。
E pool();获取并移除此队列的头,如果队列为空,则返回null。
E remove();获取并移除此队列的头。
相关文章推荐
- 在自定义的UINavigationController中设置背景图片
- 开发kendo-ui弹窗组件
- [sicily]1209. Sequence Sum Possibi
- Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs
- 普林斯顿大学算法第一部分学习总结(Week4-Priority Queue)
- ——黑马程序员——OC中NSNumber、NSValue、NSDate 的使用总结
- Longest Increasing Subsequence
- Range Sum Query - Immutable leetcode 303
- UI 和 UIView
- 使用 Build.VERSION.SDK_INT兼容不同版本的API
- 我的前端故事----疯狂倒计时(requestAnimationFrame)
- 个人信用卡管理 - iOS UI原型
- Android更新UI的两种方法
- UICollectonView
- [非凡程序员]uitableview uiimage 的手动编写 加密
- UIKit 手写控件 UIImageView 和UITableView
- UICollectionView
- iOS7 UITabBar自定义选中图片显示为默认蓝色的Bug
- IOS UIAlertController 弹出框中添加视图(例如日期选择器等等)
- UI基础知识 -- UITextView UIButton