91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java數據結構PriorityQueue怎么使用

小億
84
2023-12-19 23:24:17
欄目: 編程語言

PriorityQueue是一個有序的隊列,通常用于實現堆(heap)數據結構。

首先,要使用PriorityQueue,需要導入java.util.PriorityQueue類。

然后,可以創建一個PriorityQueue對象,指定元素的類型。例如,創建一個整數類型的PriorityQueue:

import java.util.PriorityQueue;

PriorityQueue<Integer> pq = new PriorityQueue<>();

接下來,可以使用add()或offer()方法將元素添加到PriorityQueue中。例如,添加一些整數到PriorityQueue中:

pq.add(5);
pq.add(10);
pq.add(3);

元素將按照它們的自然順序(升序)進行排序。

你可以使用peek()方法獲取PriorityQueue中的最小元素,使用poll()方法獲取并刪除PriorityQueue中的最小元素。例如:

System.out.println(pq.peek());  // 輸出3
System.out.println(pq.poll());  // 輸出3,并從PriorityQueue中移除3

你也可以使用size()方法獲取PriorityQueue中元素的個數,isEmpty()方法判斷PriorityQueue是否為空。例如:

System.out.println(pq.size());     // 輸出2
System.out.println(pq.isEmpty());  // 輸出false

此外,PriorityQueue還提供了一些其他方法,例如remove()用于刪除指定的元素,contains()用于判斷PriorityQueue是否包含指定元素等。

需要注意的是,PriorityQueue不允許添加null元素。

另外,如果你想自定義元素的排序方式,可以傳入一個Comparator對象給PriorityQueue的構造函數。例如,創建一個按照元素的絕對值大小進行排序的PriorityQueue:

PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> Math.abs(a) - Math.abs(b));

這樣,PriorityQueue中的元素將按照它們的絕對值大小進行排序。

0
和林格尔县| 辉南县| 安龙县| 龙南县| 虞城县| 贵州省| 楚雄市| 竹溪县| 定南县| 青铜峡市| 崇明县| 齐齐哈尔市| 阳新县| 沈阳市| 铁岭市| 讷河市| 长阳| 天峨县| 南充市| 湖口县| 长武县| 伊宁县| 右玉县| 锡林浩特市| 名山县| 马尔康县| 绵阳市| 梧州市| 南江县| 大埔县| 昭平县| 连江县| 巴林左旗| 酉阳| 永德县| 南平市| 左权县| 象州县| 大庆市| 贡觉县| 将乐县|