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

更新於: 2019年7月30日

97 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告