Java.util.PriorityQueue 类
简介
java.util.PriorityQueue类是一个基于优先级堆的无界优先级队列。以下是关于PriorityQueue的重点 −
优先级队列的元素根据它们的自然顺序或在队列构建时提供的 Comparator 进行排序,具体取决于使用的构造函数。
优先级队列不允许空元素。
依赖自然排序的优先级队列也不允许插入不可比较的对象。
类声明
以下是 java.util.PriorityQueue 类的声明 −
public class PriorityQueue<E> extends AbstractQueue<E> implements Serializable
参数
以下是 java.util.PriorityQueue 类的参数 −
E − 这是此集合中包含的元素的类型。
类构造函数
序号 | 构造函数 & 描述 |
---|---|
1 | PriorityQueue() 这将创建一个具有默认初始容量 (11) 的 PriorityQueue,它根据元素的自然顺序对其元素进行排序。 |
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。 |
类方法
序号 | 方法 & 描述 |
---|---|
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