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
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
boolean | add(E e) | 要素eを優先度キューに挿入する | |
void | clear() | 優先度キューからすべての要素を削除する | |
boolean | contains(Object o) | 要素oが優先度キューに含まれている場合はtrueを返す | |
boolean | offer(E e) | 要素eを優先度キューに挿入する | |
E | peek() | キューの先頭を取得する(削除はしない) | |
E | poll() | キューの先頭を取得する(削除もする) | |
boolean | remove(Object o) | 要素oが存在する場合はキューから削除する | |
int | size() | キューの要素数を返す |
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
コメント