Java.util.PriorityQueue 类


介绍

java.util.PriorityQueue类是一个基于优先级堆的无界优先级队列。以下是有关 PriorityQueue 的要点 -

  • 优先级队列的元素根据其自然顺序进行排序,或者通过队列构造时提供的比较器进行排序,具体取决于使用的构造函数。

  • 优先级队列不允许有空元素。

  • 依赖于自然排序的优先级队列也不允许插入不可比较的对象。

类声明

以下是java.util.PriorityQueue类的声明-

public class PriorityQueue<E>
   extends AbstractQueue<E>
   implements Serializable

参数

以下是java.util.PriorityQueue类的参数-

E - 这是该集合中保存的元素的类型。

类构造函数

先生。 构造函数及描述
1

优先队列()

这将创建一个具有默认初始容量 (11) 的 PriorityQueue,该队列根据其元素的自然顺序对其元素进行排序。

2

PriorityQueue(Collection<?extends E> c)

这将创建一个包含指定集合中的元素的 PriorityQueue。

3

PriorityQueue(int 初始容量)

这将创建一个具有指定初始容量的 PriorityQueue,并根据元素的自然顺序对其元素进行排序。

4

PriorityQueue(int initialCapacity, Comparator<? super E> 比较器)

这将创建一个具有指定初始容量的 PriorityQueue,并根据指定的比较器对其元素进行排序。

5

PriorityQueue(PriorityQueue<?extends E> c)

这将创建一个 PriorityQueue,其中包含指定优先级队列中的元素。

6

PriorityQueue(SortedSet<? 扩展 E> c)

这将创建一个包含指定排序集中的元素的 PriorityQueue。

类方法

先生。 方法及说明
1 布尔加法(E e)

此方法将指定元素插入到此优先级队列中。

2 无效清除()

此方法从该优先级队列中删除所有元素。

3 比较器<? 超级 E> 比较器()

此方法返回用于排序此队列中的元素的比较器,如果此队列根据其元素的自然顺序排序,则返回 null。

4 布尔值包含(对象o)

如果此队列包含指定元素,则此方法返回 true。

5 迭代器<E> 迭代器()

此方法返回对此队列中元素的迭代器。

6 布尔报价(E e)

此方法将指定元素插入到此优先级队列中。

7 E 窥视()

此方法检索但不删除此队列的头,或者如果此队列为空,则返回 null。

8 电子民意调查()

此方法检索并删除此队列的头部,如果此队列为空,则返回 null。

9 布尔删除(对象o)

此方法从此队列中删除指定元素的单个实例(如果存在)。

10 整数大小()

此方法返回此集合中的元素数量。

11 对象[] toArray()

此方法返回一个包含此队列中所有元素的数组。

12 <T> T[] toArray(T[] a)

该方法返回一个包含该队列中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。

继承的方法

该类继承了以下类的方法 -

  • java.util.AbstractQueue
  • java.util.AbstractCollection
  • java.util.Object
  • java.util.Collection