Java中的優先級隊列可以使用java.util.PriorityQueue
類來實現。以下是使用優先級隊列的基本步驟:
java.util.PriorityQueue
類:import java.util.PriorityQueue;
PriorityQueue<Integer> pq = new PriorityQueue<>();
add()
或offer()
方法將元素添加到隊列中。添加的元素會按照優先級進行排序,默認情況下,優先級隊列按照自然順序進行排序。如果要自定義元素的排序方式,可以在創建優先級隊列時傳入一個Comparator
對象。pq.add(10);
pq.add(5);
pq.add(15);
peek()
方法獲取隊列中的最高優先級元素(即隊列中的頭部元素),但不將其從隊列中刪除。Integer highestPriority = pq.peek();
poll()
方法獲取隊列中的最高優先級元素,并將其從隊列中刪除。Integer highestPriority = pq.poll();
size()
方法獲取隊列中元素的數量。int size = pq.size();
isEmpty()
方法檢查隊列是否為空。boolean isEmpty = pq.isEmpty();
需要注意的是,優先級隊列不保證對于相同優先級的元素的訪問順序。如果需要確保相同優先級的元素按照插入順序訪問,可以使用其他數據結構,如LinkedList
。