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