モジュール java.base
パッケージ java.util

クラスAbstractQueue<E>

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要素が許可されない場合です。 addremove、およびelementメソッドは、それぞれofferpoll、およびpeekに基づいていますが、falseまたはnullを返して失敗を示す代わりに、例外をスローします。

このクラスを拡張するQueue実装は、Queue.peek()Queue.poll()Collection.size()、およびCollection.iterator()とともに、null要素の挿入を許可しないQueue.offer(E)メソッドを最低限定義する必要があります。 通常、追加メソッドもオーバーライドされます。 これらの要件を満たすことができない場合、AbstractCollectionのサブクラス化を考慮してください。

このクラスは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.5
  • コンストラクタの詳細

    • 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()
      キューの先頭を取得および削除します。 このメソッドは、キューが空の場合に例外をスローする点のみがpollメソッドと異なります。

      キューが空でないかぎり、この実装はpollの結果を返します。

      定義:
      remove、インタフェースQueue<E>
      戻り値:
      キューの先頭
      例外:
      NoSuchElementException - このキューが空の場合
    • element

      public E element()
      キューの先頭を取得しますが、削除しません。 このメソッドは、キューが空の場合に例外をスローする点のみがpeekメソッドと異なります。

      キューが空でないかぎり、この実装はpeekの結果を返します。

      定義:
      element、インタフェースQueue<E>
      戻り値:
      キューの先頭
      例外:
      NoSuchElementException - このキューが空の場合
    • clear

      public void clear()
      すべての要素をキューから削除します。 この呼出しが戻ると、キューは空になります。

      この実装は、nullが返されるまで、繰り返しpollを呼び出します。

      定義:
      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 - 挿入制限のため、この時点で一部の要素を追加できない場合
      関連項目: