位置:首页 > Java技术 > Java.util包 > java.util.PriorityQueue类

java.util.PriorityQueue类

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

  • 优先级队列中的元素根据其自然顺序进行排序,或者按照队列构造时提供的Comparator,这取决于使用的构造方法。

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

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

类声明

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

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

参数

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

  • E -- 这是在这个集合所持元素的类型。

类构造函数

S.N. 构造函数 & 描述
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) 
这将创建一个包含指定有序set的元素一个PriorityQueue。

类方法

S.N. 方法 & 描述
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