
- Java.util 包類
- Java.util - 首頁
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包額外內容
- Java.util - 介面
- Java.util - 異常
- Java.util - 列舉
- Java.util 有用資源
- Java.util - 有用資源
- Java.util - 討論
Java PriorityQueue 類
簡介
Java PriorityQueue 類是一個基於優先順序堆的無界優先順序佇列。以下是關於 PriorityQueue 的重要幾點:
優先順序佇列的元素根據它們的自然順序排序,或者根據在佇列構造時提供的比較器排序,這取決於使用哪個建構函式。
優先順序佇列不允許空元素。
依賴自然順序的優先順序佇列也不允許插入不可比較的物件。
類宣告
以下是java.util.PriorityQueue類的宣告:
public class PriorityQueue<E> extends AbstractQueue<E> implements Serializable
引數
以下是java.util.PriorityQueue類的引數:
E - 這是此集合中儲存的元素的型別。
類建構函式
序號 | 建構函式和描述 |
---|---|
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) 這將建立一個包含指定有序集中元素的 PriorityQueue。 |
類方法
序號 | 方法和描述 |
---|---|
1 | boolean add(E e)
此方法將指定的元素插入到此優先順序佇列中。 |
2 | void clear()
此方法從此優先順序佇列中刪除所有元素。 |
3 | Comparator<? super E> comparator()
此方法返回用於對該佇列中的元素進行排序的比較器,如果此佇列是根據其元素的自然順序排序的,則返回 null。 |
4 | boolean contains(Object o)
如果此佇列包含指定的元素,則此方法返回 true。 |
5 | void forEach(Consumer<? super E> action)
此方法對 Iterable 的每個元素執行給定的操作,直到所有元素都已處理或操作引發異常。 |
6 | Iterator<E> iterator()
此方法返回此佇列中元素的迭代器。 |
7 | boolean offer(E e)
此方法將指定的元素插入到此優先順序佇列中。 |
8 | boolean remove(Object o)
如果存在,此方法從此佇列中刪除指定元素的一個例項。 |
9 | boolean removeAll(Collection<?> c)
此方法刪除此集合中也包含在指定集合中的所有元素(可選操作)。 |
10 | boolean removeIf(Predicate<? super E> filter)
此方法刪除滿足給定謂詞的此集合的所有元素。 |
11 | boolean retainAll(Collection<?> c)
此方法僅保留此集合中包含在指定集合中的元素(可選操作)。 |
12 | Spliterator<E> spliterator()
此方法在此佇列中的元素上建立一個延遲繫結且快速失敗的 Spliterator。 |
13 | <T> T[] toArray(T[] a)
此方法返回一個包含此佇列中所有元素的陣列;返回陣列的執行時型別是指定陣列的型別。 |
繼承的方法
此類繼承自以下類的 方法:
- java.util.AbstractQueue
- java.util.AbstractCollection
- java.util.Object
- java.util.Collection
向優先順序佇列新增項示例
以下示例顯示了 Java PriorityQueue add(E) 方法的使用,用於新增整數。我們使用 add() 方法為每個元素新增幾個整數到 PriorityQueue 物件,然後列印每個元素以顯示已新增的元素。
package com.tutorialspoint; import java.util.PriorityQueue; public class PriorityQueueDemo { public static void main(String[] args) { // create an empty priority queue with an initial capacity PriorityQueue<Integer> queue = new PriorityQueue<>(5); // use add() method to add elements in the queue queue.add(20); queue.add(30); queue.add(20); queue.add(30); queue.add(15); queue.add(22); queue.add(11); // let us print all the elements available in queue for (Integer number : queue) { System.out.println("Number = " + number); } } }
讓我們編譯並執行上述程式,這將產生以下結果:
Number = 11 Number = 20 Number = 15 Number = 30 Number = 30 Number = 22 Number = 20