最近、Java でプライオリティ キューの使用を開始しましたが、理解できないものをすでに見つけています。コンパレーター クラスを使用して、優先度キューを自分の方法で並べ替えました。
ここに私がした簡単なプログラムがあります:-
package main;
import java.util.Comparator;
import java.util.PriorityQueue;
class PQ implements Comparator<Integer> {
public int compare(Integer o1, Integer o2) { // sort in the descending order
return o2 - o1;
}
}
public class Main {
public static void main(String[] args) {
int[] list = { 1, 5, 6, 9, 10, 3, 5, 2, 13, 15, 17, 19, 25, 1, 0 };
PQ pqs = new PQ();
PriorityQueue<Integer> pq1 = new PriorityQueue<Integer>(10, pqs);
// what does this "10" parameter does?
for (int x : list) {
pq1.offer(x); // put values in to the queue
}
for (int x : list) {
System.out.println(pq1.poll()); // pops out from the queue.
}
}
}
私の問題は、整数パラメーター「10」がプライオリティ キュー コンストラクターで何を意味するかということです (それを渡していますが、それが何をするのかわかりません)。
インターネットで検索したところ、初期容量を指定するために使用されていることがわかりましたが、まだ明確に理解できていません。
誰がそれが何をするのか説明できますか?
お時間をいただきありがとうございます。