Java程式設計中的PriorityQueue類
java.util.PriorityQueue 類是一個基於優先順序堆的無界優先順序佇列。以下是關於 PriorityQueue 的重要要點:
優先順序佇列的元素根據其自然排序或在佇列構造時提供的 Comparator 進行排序,具體取決於使用哪個建構函式。
優先順序佇列不允許 null 元素。
依賴自然排序的優先順序佇列也不允許插入不可比較的物件。
類宣告
以下是 java.util.PriorityQueue 類的宣告:
public class PriorityQueue<E> extends AbstractQueue<E> implements Serializable
引數
以下是 java.util.PriorityQueue 類的引數:
E - 此集合中儲存的元素的型別。
類建構函式
序號 | 建構函式 & 描述 |
---|---|
1 | PriorityQueue() 這將建立一個 PriorityQueue,其預設初始容量為 (11),並根據其自然排序對元素進行排序。 |
2 | PriorityQueue(Collection<? extends E> c) 這將建立一個包含指定集合中元素的 PriorityQueue。 |
3 | PriorityQueue(int initialCapacity) 這將建立一個具有指定初始容量的 PriorityQueue,並根據其自然排序對元素進行排序。 |
4 | PriorityQueue(int initialCapacity, Comparator<? super E> comparator) 這將建立一個具有指定初始容量的 PriorityQueue,並根據指定的 Comparator 對元素進行排序。 |
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()
此方法返回用於對佇列中元素進行排序的 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