[API] java.util.PriorityQueueクラス

java.util.PriorityQueueは要素を優先順位に従って格納・取得されるデータ構造です。
優先度キューとも呼ばれます

java.util.PriorityQueueの特徴

PriorityQueueは以下の特徴があります。

  • 要素の重複:〇
  • null値の要素:×
  • 自動ソート:〇
  • スレッドセーフ:×

java.util.PriorityQueueの継承・実装

継承クラス

java.lang.Object
 ・java.util.AbstractCollection<E>
  ・java.util.AbstractQueue<E>
   ・java.util.PriorityQueue<E>

実装インターフェース

java.io.Serializable
・java.lang.Iterable<E>
・java.util.Collection<E>
・java.util.Queue<E>

導入バージョン

・JDK1.5

java.util.PriorityQueueのAPI

【主要メソッド】
戻値型メソッド静的説明
booleanadd(E e)要素eを優先度キューに挿入する
voidclear()優先度キューからすべての要素を削除する
booleancontains(Object o)要素oが優先度キューに含まれている場合はtrueを返す
booleanoffer(E e)要素eを優先度キューに挿入する
Epeek()キューの先頭を取得する(削除はしない)
Epoll()キューの先頭を取得する(削除もする)
booleanremove(Object o)要素oが存在する場合はキューから削除する
intsize()キューの要素数を返す

java.util.PriorityQueueサンプル

(優先度が最も低い要素を取り出す)

PriorityQueue<Integer> pq = new PriorityQueue<>();
pq.add(3);
pq.add(1);
pq.add(2);

while (!pq.isEmpty()) {
  System.out.println(pq.poll());  //優先度が最も低い要素を取り出す
}

→ 1 2 3

コメント

タイトルとURLをコピーしました