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
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
AbstractQueue()
サブクラスにより使用されるコンストラクタです。 -
メソッドのサマリー
修飾子と型 メソッド 説明 boolean
add(E e)
容量制限に違反することなく、指定された要素をこのキューにすぐに挿入できる場合はそうします。成功した場合はtrue
を返し、その時点で使用可能な空き領域が存在しない場合はIllegalStateException
をスローします。boolean
addAll(Collection<? extends E> c)
指定されたコレクション内のすべての要素をこのキューに追加します。void
clear()
すべての要素をキューから削除します。E
element()
キューの先頭を取得しますが、削除しません。E
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)
-