Java.util.PriorityQueue类

Python/Java学习交流群:369606713


介绍

该java.util.PriorityQueue中类是基于优先级heap.Following是关于PriorityQueue中的重要点的无界优先级队列

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

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

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

类声明

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

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

参数

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

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

类构造函数

Sr.No. 构造函数和描述
1

PriorityQueue中()

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

2

PriorityQueue(Collection 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 comparator())

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

4 boolean contains(Object o)

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

5 Iterator 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