简介
java.util.PriorityQueue 类是基于优先级堆的无界优先级队列.以下是有关PriorityQueue&minus的重要观点;
优先级队列的元素按其自然顺序排序,或者由队列构建时提供的比较器排序,具体取决于在哪个构造函数上使用.
优先级队列不允许使用null元素.
依赖自然排序的优先级队列也不允许插入不可比较的对象.
类声明
以下是 java.util.PriorityQueue class :
public class PriorityQueueextends AbstractQueue implements Serializable
参数
以下是 java.util.PriorityQueue的参数 class :
E : 这是此集合中保存的元素类型.
类构造函数
Sr.No. | 构造函数&说明 |
---|---|
1 | PriorityQueue() 这将创建一个PriorityQueue,其默认初始容量(11)根据其自然顺序对其元素进行排序. |
2 | PriorityQueue(Collection<?extends E> ; c) 这会创建一个包含指定集合中元素的PriorityQueue. |
3 | PriorityQueue(int initialCapacity) 这将创建一个具有指定初始容量的PriorityQueue,该容量根据其自然顺序对其元素进行排序. |
4 | PriorityQueue(int initialCapacity, Comparator super E> comparator) 这将创建一个具有指定初始容量的PriorityQueue,该容量根据指定的比较器对其元素进行排序. |
5 | PriorityQueue(PriorityQueue extends E> c) 这将创建一个PriorityQueue,其中包含指定优先级队列中的元素. |
6 | PriorityQueue(SortedSet<?extends E> c) 这将创建一个PriorityQueue,其中包含指定有序集合中的元素. |
类方法
Sr.No. | 方法&说明 |
---|---|
1 | boolean add(E e) 此方法将指定的元素插入此优先级队列. |
2 | void clear() 此方法从该优先级队列中删除所有元素. |
3 | Comparator super E> comparator() 此方法返回用于对此队列中的元素进行排序的比较器,如果此队列根据其元素的自然顺序排序,则返回null. |
4 | boolean contains(Object o) 如果此队列包含指定的元素,则此方法返回true. |
5 | Iterator 此方法返回此队列中元素的迭代器. |
6 | boolean offer(E e) 此方法将指定的元素插入此优先级队列. |
7 | E peek() 这方法检索但不删除此队列的头部,如果此队列为空,则返回null. |
8 | E poll() 此方法检索并删除此队列的头部,如果此队列为空,则返回null. |
9 | boolean remove(Object o) 此方法删除此队列中指定元素的单个实例(如果存在). |
10 | int size() 此方法返回此集合中的元素数量. |
11 | Object [] toArray() 此方法返回一个包含所有元素的数组这个队列. |
12 | < T> T [] toArray(T [] a) 此方法返回一个包含此队列中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型. |
继承的方法
此类继承以下类中的方法 :
java.util.AbstractQueue
java.util.AbstractCollection
java.util.Object
java.util.Collection