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
実装は、Queue.peek()
、Queue.poll()
、Collection.size()
、およびCollection.iterator()
とともに、null
要素の挿入を許可しないQueue.offer(E)
メソッドを最低限定義する必要があります。 通常、追加メソッドもオーバーライドされます。 これらの要件を満たすことができない場合、AbstractCollection
のサブクラス化を考慮してください。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.5
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明boolean
容量制限に違反することなく、指定された要素をこのキューにすぐに挿入できる場合はそうします。成功した場合はtrue
を返し、その時点で使用可能な空き領域が存在しない場合はIllegalStateException
をスローします。boolean
addAll(Collection<? extends E> c)
指定されたコレクション内のすべての要素をこのキューに追加します。void
clear()
すべての要素をキューから削除します。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()- 定義:
element
、インタフェース:Queue<E>
- 戻り値:
- キューの先頭
- 例外:
NoSuchElementException
- このキューが空の場合
-
clear
public void clear()- 定義:
clear
、インタフェース:Collection<E>
- オーバーライド:
clear
、クラス:AbstractCollection<E>
-
addAll
public boolean addAll(Collection<? extends E> c)指定されたコレクション内のすべての要素をこのキューに追加します。 キューのすべてをそれ自体に追加しようとすると、IllegalArgumentException
がスローされます。 また、オペレーションの進行中に指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。この実装は、指定されたコレクションに対して処理を繰返し実行し、イテレータにより返される各要素をこのキューに順番に追加します。 ある要素(特に
null
要素など)の追加中に実行時例外が発生したとき、それに関連した例外がスローされた場合に要素の一部しか追加に成功しないこともあります。- 定義:
addAll
、インタフェース:Collection<E>
- オーバーライド:
addAll
、クラス:AbstractCollection<E>
- パラメータ:
c
- キューに追加される要素を含むコレクション- 戻り値:
- この呼出しの結果、このキューが変更された場合は
true
- 例外:
ClassCastException
- i指定されたコレクションの要素のクラスが原因で、このキューに追加できなかった場合NullPointerException
- 指定されたコレクション内にnull要素が含まれ、このキューがnull要素を許可しない場合。または指定されたコレクションがnullの場合IllegalArgumentException
- 指定されたコレクションの要素のある特性が原因で、このキューに要素を追加できなかった場合。または指定されたコレクションがこのキューの場合IllegalStateException
- 挿入制限のため、この時点で一部の要素を追加できない場合- 関連項目:
add(Object)
-