Java.util - PriorityQueue
介绍 (Introduction)
java.util.PriorityQueue类是基于优先级堆的无界优先级队列。以下是关于PriorityQueue的重点 -
优先级队列的元素根据其自然顺序排序,或者由队列构造时提供的比较器排序,具体取决于使用的构造函数。
优先级队列不允许null元素。
依赖于自然排序的优先级队列也不允许插入不可比较的对象。
类声明
以下是java.util.PriorityQueue类的声明 -
public class PriorityQueue<E>
extends AbstractQueue<E>
implements Serializable
参数 (Parameters)
以下是java.util.PriorityQueue类的参数 -
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<E> 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