モジュール 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実装では、null要素を挿入できないメソッドQueue.offer(E)を、Queue.peek()Queue.poll()Collection.size()およびCollection.iterator()メソッドとともに最小限定義する必要があります。 通常、追加メソッドもオーバーライドされます。 これらの要件を満たすことができない場合、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)
      指定されたコレクション内のすべての要素をこのキューに追加します。 キューのaddAllをそれ自体に対して試行すると、IllegalArgumentExceptionになります。 また、オペレーションの進行中に指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。

      この実装は、指定されたコレクションに対して処理を繰返し実行し、イテレータにより返される各要素をこのキューに順番に追加します。 要素(null要素を含めます)を追加しようとしているときにランタイム例外が発生すると、関連する例外がスローされたときに正常に追加された要素の一部のみが発生する可能性があります。

      定義:
      addAll、インタフェースCollection<E>
      オーバーライド:
      addAll、クラスAbstractCollection<E>
      パラメータ:
      c - キューに追加される要素を含むコレクション
      戻り値:
      この呼出しの結果、このキューが変更された場合はtrue
      例外:
      ClassCastException - i指定されたコレクションの要素のクラスが原因で、このキューに追加できなかった場合
      NullPointerException - 指定されたコレクション内にnull要素が含まれ、このキューがnull要素を許可しない場合。または指定されたコレクションがnullの場合
      IllegalArgumentException - 指定されたコレクションの要素のある特性が原因で、このキューに要素を追加できなかった場合。または指定されたコレクションがこのキューの場合
      IllegalStateException - 挿入制限のため、この時点で一部の要素を追加できない場合
      関連項目: