java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
- 型パラメータ:
E- このキューに保持されている要素の型
- すべての実装されたインタフェース:
Iterable<E>,Collection<E>,Queue<E>
- 直系の既知のサブクラス:
ArrayBlockingQueue,ConcurrentLinkedQueue,DelayQueue,LinkedBlockingDeque,LinkedBlockingQueue,LinkedTransferQueue,PriorityBlockingQueue,PriorityQueue,SynchronousQueue
public abstract class AbstractQueue<E> extends AbstractCollection<E> implements Queue<E>
このクラスは、
Queueのいくつかのオペレーションのスケルトン実装を提供します。 このクラスの実装は、ベース実装でnull要素が許可されていない場合に適しています。 メソッドadd、removeおよびelementは、それぞれoffer、pollおよびpeekに基づいていますが、falseまたはnullを介した失敗を示すかわりに例外をスローします。
このクラスを拡張するQueue実装では、null要素を挿入できないメソッドQueue.offer(E)を、Queue.peek()、Queue.poll()、Collection.size()およびCollection.iterator()メソッドとともに最小限定義する必要があります。 通常、追加メソッドもオーバーライドされます。 これらの要件を満たすことができない場合、AbstractCollectionのサブクラス化を考慮してください。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.5
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明boolean容量制限に違反することなく、指定された要素をこのキューにすぐに挿入できる場合はそうします。成功した場合はtrueを返し、その時点で使用可能な空き領域が存在しない場合はIllegalStateExceptionをスローします。booleanaddAll(Collection<? extends E> c) 指定されたコレクション内のすべての要素をこのキューに追加します。voidclear()すべての要素をキューから削除します。element()キューの先頭を取得しますが、削除しません。remove()キューの先頭を取得および削除します。クラスjava.util.AbstractCollectionで宣言されたメソッド
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, toArray, toArray, toStringクラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitインタフェースjava.util.Collectionで宣言されたメソッド
contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
コンストラクタの詳細
-
AbstractQueue
protected AbstractQueue()サブクラスにより使用されるコンストラクタです。
-
-
メソッドの詳細
-
add
public boolean add(E e) 容量制限に違反することなく、指定された要素をこのキューにすぐに挿入できる場合はそうします。成功した場合はtrueを返し、その時点で使用可能な空き領域が存在しない場合はIllegalStateExceptionをスローします。この実装は、
offerが成功した場合はtrueを返し、成功しなかった場合はIllegalStateExceptionをスローします。- 定義:
add、インタフェースCollection<E>- 定義:
add、インタフェースQueue<E>- オーバーライド:
add、クラスAbstractCollection<E>- パラメータ:
e- 追加する要素- 戻り値:
true(Collection.add(E)で指定されているとおり)- スロー:
IllegalStateException- 容量制限のために、この時点で要素を追加できない場合ClassCastException- 指定された要素のクラスが原因で、このキューにその要素を追加できない場合NullPointerException- 指定された要素がnullで、このキューがnull要素を許可しない場合IllegalArgumentException- この要素のあるプロパティが原因で、このキューにその要素を追加できない場合
-
remove
public E remove()- 定義:
remove、インタフェースQueue<E>- 戻り値:
- キューの先頭
- スロー:
NoSuchElementException- このキューが空の場合
-
element
public E element()キューの先頭を取得しますが、削除しません。 このメソッドは、キューが空の場合に例外をスローする点のみがpeekメソッドと異なります。この実装では、キューが空でないかぎり、
peekの結果が返されます。- 定義:
element、インタフェースQueue<E>- 戻り値:
- キューの先頭
- スロー:
NoSuchElementException- このキューが空の場合
-
clear
public void clear()- 定義:
clear、インタフェースCollection<E>- オーバーライド:
clear、クラスAbstractCollection<E>
-
addAll
public boolean addAll(Collection<? extends E> c) 指定されたコレクション内のすべての要素をこのキューに追加します。 キューのaddAllをそれ自体に対して試行すると、IllegalArgumentExceptionになります。 また、オペレーションの進行中に指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。この実装は、指定されたコレクションに対して処理を繰返し実行し、イテレータにより返される各要素をこのキューに順番に追加します。 要素(
null要素を含めます)を追加しようとしているときにランタイム例外が発生すると、関連する例外がスローされたときに正常に追加された要素の一部のみが発生する可能性があります。- 定義:
addAll、インタフェースCollection<E>- オーバーライド:
addAll、クラスAbstractCollection<E>- パラメータ:
c- キューに追加される要素を含むコレクション- 戻り値:
- この呼出しの結果、このキューが変更された場合は
true - スロー:
ClassCastException- i指定されたコレクションの要素のクラスが原因で、このキューに追加できなかった場合NullPointerException- 指定されたコレクション内にnull要素が含まれ、このキューがnull要素を許可しない場合。または指定されたコレクションがnullの場合IllegalArgumentException- 指定されたコレクションの要素のある特性が原因で、このキューに要素を追加できなかった場合。または指定されたコレクションがこのキューの場合IllegalStateException- 挿入制限のため、この時点で一部の要素を追加できない場合- 関連項目:
-