javaのプライオリティキューの使い方は何ですか。
優先順位キュー(PriorityQueue)とは、要素が優先順位に従ってソートされた特殊な キュー です。具体的には、優先順位キュー内の要素は自然順序またはカスタムのコンパレーターを使用してソートできます。
優先順位付きキューの使い方は次のとおりです。
- 初期容量を指定したコンストラクタを使用して指定のサイズの優先キューを作成することもできますが、引数のない既定のコンストラクタを使用して空の優先キューを作成することもできます。
PriorityQueue<T> priorityQueue = new PriorityQueue<>();
PriorityQueue<T> priorityQueue = new PriorityQueue<>(initialCapacity);
- 追加する
- 申し込む
priorityQueue.add(element);
priorityQueue.offer(element);
- 削除 ()
- ポーリング
T element = priorityQueue.remove();
T element = priorityQueue.poll();
- 最初のを取得
T element = priorityQueue.peek();
- isEmpty
boolean isEmpty = priorityQueue.isEmpty();
要素はComparableインターフェイスを実装するかカスタムコンパレータを使用してソートできる必要があります。そうでない場合はClassCastException例外がスローされます。
さらに、優先キューの基本実装はヒープ(heap)に基づいており、挿入、削除、最小/最大要素の取得など、ほとんどの操作で高い効率を示します。