|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
E
- コレクション内に存在する要素の型public interface Queue<E>
処理の前に要素を保持する目的で設計されたコレクション。キューにより、基本的な Collection
オペレーションに加え、追加の挿入、抽出、および検査オペレーションが提供されます。
必ずしもその必要はありませんが、通常、キューは FIFO (先入れ先出し) で要素の順序付けを行います。優先度キューは例外で、指定されたコンパレータ (要素の自然順序付け)、および LIFO キュー (またはスタック) に従って要素の順序付けを行います。LIFO キューでは、LIFO (後入れ先出し) で要素が順序付けされます。使用する順序付けにかかわらず、キューの「先頭」は remove()
または poll()
の呼び出しにより削除される要素です。FIFO キューでは、すべての新規要素はキューの「末尾」に挿入されます。他の種類のキューでは、使用される配置規則が異なる場合があります。どのような Queue の実装でも、順序付けのプロパティを指定する必要があります。
offer
メソッドは、可能であれば要素を挿入し、可能でなければ false を返します。これが、チェックされない例外をスローする場合にのみ要素の追加に失敗する Collection.add
メソッドと異なる点です。固定容量 (バウンド) キューが原因で発生する場合のように、offer メソッドは、失敗が例外的ではなく通常のことである場合に使用する目的で設計されています。
remove()
および poll()
メソッドは、キューの先頭を削除および返します。正確にどの要素をキューから削除するかは、キューの順序付けポリシーの役割であり、実装により異なります。remove() および poll() メソッドは、キューが空である場合の動作だけが異なります。remove() メソッドは例外をスローするのに対し、poll() メソッドは null を返します。
element()
および peek()
メソッドはキューの先頭を返しますが、削除は行いません。
Queue インタフェースは、並行プログラミングでは一般的なキューブロック化メソッドを定義しません。これらのメソッドは、このインタフェースを拡張する BlockingQueue
インタフェース内で定義され、要素が出現するか空間が利用可能になるまで待機します。
LinkedList
などの一部の実装は null 要素の挿入を許可するのに対し、通常、Queue 実装は null の挿入を許可しません。null はキューに要素が含まれないことを示す poll メソッドの特殊な戻り値としても使用されるため、Queue に null を挿入する操作は、それを許可する実装であっても行うべきではありません。
通常、Queue 実装は要素ベースのメソッド equals および hashCode を定義せずに、Object クラスからアイデンティティベースのメソッドを継承します。これは、保持する要素が同じでも順序付けのプロパティが異なるキューの場合、要素ベースの等価性が常に十分に定義されているとは言えないためです。
このインタフェースは、Java Collections Framework のメンバです。
Collection
,
LinkedList
,
PriorityQueue
,
LinkedBlockingQueue
,
BlockingQueue
,
ArrayBlockingQueue
,
LinkedBlockingQueue
,
PriorityBlockingQueue
メソッドの概要 | |
---|---|
E |
element()
キューの先頭を取得しますが、削除しません。 |
boolean |
offer(E o)
可能な場合、指定された要素をこのキューに挿入します。 |
E |
peek()
キューの先頭を取得しますが、削除しません。 |
E |
poll()
キューの先頭を取得および削除します。 |
E |
remove()
キューの先頭を取得および削除します。 |
インタフェース java.util.Collection から継承されたメソッド |
---|
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray |
メソッドの詳細 |
---|
boolean offer(E o)
Collection.add(E)
メソッドよりも offer メソッドを使用することをお勧めします。
o
- 挿入される要素
E poll()
E remove()
NoSuchElementException
- キューが空の場合E peek()
E element()
NoSuchElementException
- キューが空の場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。