Java容器:PriorityQueue
来源:互联网 发布:linux init启动 编辑:程序博客网 时间:2024/06/05 23:58
java.util
类 PriorityQueue
类型参数:
E - collection 中所保存元素的类型。
所有已实现的接口:
Serializable, Iterable, Collection, Queue
public class PriorityQueue
extends AbstractQueue
implements Serializable
一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。优先级队列不允许使用 null 元素。依靠自然顺序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastException)。
此队列的头 是按指定排序方式确定的最小 元素。如果多个元素都是最小值,则头是其中一个元素——选择方法是任意的。队列获取操作 poll、remove、peek 和 element 访问处于队列头的元素。
优先级队列是无界的,但是有一个内部容量,控制着用于存储队列元素的数组大小。它通常至少等于队列的大小。随着不断向优先级队列添加元素,其容量会自动增加。无需指定容量增加策略的细节。
此类及其迭代器实现了 Collection 和 Iterator 接口的所有可选 方法。方法 iterator() 中提供的迭代器不 保证以任何特定的顺序遍历优先级队列中的元素。如果需要按顺序遍历,请考虑使用 Arrays.sort(pq.toArray())。
注意,此实现不是同步的。如果多个线程中的任意线程修改了队列,则这些线程不应同时访问 PriorityQueue 实例。相反,请使用线程安全的 PriorityBlockingQueue 类。
实现注意事项:此实现为排队和出队方法(offer、poll、remove() 和 add)提供 O(log(n)) 时间;为 remove(Object) 和 contains(Object) 方法提供线性时间;为获取方法(peek、element 和 size)提供固定时间。
此类是 Java Collections Framework 的成员。
- Java容器:PriorityQueue
- java PriorityQueue
- PriorityQueue<> JAVA
- 关于Java PriorityQueue
- Java中的PriorityQueue
- java学习PriorityQueue队列
- java PriorityQueue优先队列
- JAVA PriorityQueue应用实例
- java优先队列 PriorityQueue
- Java之PriorityQueue
- 【Java】优先队列PriorityQueue
- Java的priorityQueue
- Java——PriorityQueue
- 关于Java PriorityQueue
- JAVA PriorityQueue应用实例
- Java优先级队列PriorityQueue
- Java中PriorityQueue
- 优先队列 java PriorityQueue
- 【C++】C++对象模型的sizeof问题
- Android序列化Serializable和Parcelable区别
- ios 清理缓存
- Codeforces--670C--Cinema(STL map)
- tableView中cell、collectionView中cell选中后,图片加上一层高亮效果 selected highlighted
- Java容器:PriorityQueue
- 第十周项目—阅读程序,写出执行结果(3)
- URL的那些事儿
- pugixml学习笔记4 节点操作
- iOS开发————通信方式之block
- Groovy入门教程
- swift中的几种实现方式
- System.currentTimeMillis()单位换算
- Java关键字final、static、abstract使用总结