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

インタフェースBlockingDeque<E>

型パラメータ:
E - この両端キューに保持されている要素の型
すべてのスーパー・インタフェース:
BlockingQueue<E>, Collection<E>, Deque<E>, Iterable<E>, Queue<E>
既知のすべての実装クラス:
LinkedBlockingDeque

public interface BlockingDeque<E> extends BlockingQueue<E>, Deque<E>
要素の取得時に両端キューが空でなくなるまで待機したり、要素の格納時に両端キュー内に空きが生じるまで待機するブロック操作を追加でサポートしたりするDequeです。

BlockingDequeメソッドには4つの形式があり、すぐには達成できなくても将来のある時点で達成できる可能性がある操作を異なる方法で処理します。1つめは例外をスローし、2つめは特殊な値(操作に応じてnullfalseのいずれか)を返し、3つめは操作が正常に完了するまで現在のスレッドを無期限にブロックし、4つめは処理を中止するまで指定された制限時間内のみブロックします。 これらのメソッドについて、次の表にまとめます。

BlockingDequeメソッドのサマリー
最初の要素(先頭)
例外のスロー 特殊な値 ブロック タイム・アウト
挿入 addFirst(e) offerFirst(e) putFirst(e) offerFirst(e, time, unit)
削除 removeFirst() pollFirst() takeFirst() pollFirst(time, unit)
調査 getFirst() peekFirst() 適用外 適用外
最後の要素(末尾)
例外のスロー 特殊な値 ブロック タイム・アウト
挿入 addLast(e) offerLast(e) putLast(e) offerLast(e, time, unit)
削除 removeLast() pollLast() takeLast() pollLast(time, unit)
調査 getLast() peekLast() 適用外 適用外

BlockingQueueと同様、BlockingDequeはスレッド・セーフであり、null要素を許可しません。また、容量制約を受ける場合と受けない場合があります。

BlockingDeque実装は、FIFOのBlockingQueueとして直接使用されることがあります。 BlockingQueueインタフェースから継承されたメソッドは、次の表に示すようにBlockingDequeメソッドと完全に同等です。

BlockingQueueメソッドとBlockingDequeメソッドの比較
BlockingQueueメソッド 同等のBlockingDequeメソッド
挿入 add(e) addLast(e)
offer(e) offerLast(e)
put(e) putLast(e)
offer(e, time, unit) offerLast(e, time, unit)
削除 remove() removeFirst()
poll() pollFirst()
take() takeFirst()
poll(time, unit) pollFirst(time, unit)
調査 element() getFirst()
peek() peekFirst()

メモリー整合性効果: ほかの並行処理コレクションと同様、オブジェクトをBlockingDequeに配置する前のスレッド内のアクションは、別のスレッドでのその要素へのアクセスまたはBlockingDequeからの削除に続くアクションよりも前に発生します。

このインタフェースは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.6
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    add​(E e)
    指定された要素を、この両端キューで表されるキュー(つまり、この両端キューの末尾)に、容量制限に違反することなしにすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    void
    addFirst​(E e)
    容量制限に違反することなく指定された要素をこの両端キューの先頭にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    void
    addLast​(E e)
    容量制限に違反することなく指定された要素をこの両端キューの末尾にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    boolean
    指定された要素がこの両端キューに含まれている場合にtrueを返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。
    この両端キュー内の要素を適切な順序で反復処理するイテレータを返します。
    boolean
    offer​(E e)
    指定された要素を、この両端キューで表されるキュー(つまり、この両端キューの末尾)に、容量制限に違反することなしにすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。
    boolean
    offer​(E e, long timeout, TimeUnit unit)
    指定された要素をこの両端キューで表されるキュー(つまり、この両端キューの末尾)に挿入します。必要に応じて、指定された待機時間まで空きが生じるのを待機します。
    boolean
    offerFirst​(E e)
    容量制限に違反することなしに指定された要素をこの両端キューの先頭にすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。
    boolean
    offerFirst​(E e, long timeout, TimeUnit unit)
    指定された要素をこの両端キューの先頭に挿入します。必要に応じて、指定された待機時間まで空きが生じるのを待機します。
    boolean
    offerLast​(E e)
    容量制限に違反することなしに指定された要素をこの両端キューの末尾にすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。
    boolean
    offerLast​(E e, long timeout, TimeUnit unit)
    指定された要素をこの両端キューの末尾に挿入します。必要に応じて、指定された待機時間まで空きが生じるのを待機します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。両端キューが空の場合は、nullを返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得および削除します。両端キューが空の場合は、nullを返します。
    poll​(long timeout, TimeUnit unit)
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。必要に応じて、指定された待機時間まで要素が利用可能になるのを待機します。
    pollFirst​(long timeout, TimeUnit unit)
    この両端キューの最初の要素を取得して削除します。必要に応じて、指定された待機時間まで要素が利用可能になるのを待機します。
    pollLast​(long timeout, TimeUnit unit)
    この両端キューの最後の要素を取得して削除します。必要に応じて、指定された待機時間まで要素が利用可能になるのを待機します。
    void
    push​(E e)
    容量制限に違反することなしに要素をこの両端キューで表されるスタック(つまり、この両端キューの先頭)にすぐにプッシュできる場合は、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    void
    put​(E e)
    指定された要素をこの両端キューで表されるキュー(つまり、この両端キューの末尾)に挿入します。必要に応じて、空きが生じるまで待機します。
    void
    putFirst​(E e)
    指定された要素をこの両端キューの先頭に挿入します。必要に応じて、空きが生じるまで待機します。
    void
    putLast​(E e)
    指定された要素をこの両端キューの末尾に挿入します。必要に応じて、空きが生じるまで待機します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。
    boolean
    remove​(Object o)
    指定された要素のうち最初に出現したものを、この両端キューから削除します。
    boolean
    指定された要素のうち最初に出現したものを、この両端キューから削除します。
    boolean
    指定された要素のうち最後に出現したものを、この両端キューから削除します。
    int
    この両端キュー内の要素の数を返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。必要に応じて、要素が利用可能になるまで待機します。
    この両端キューの最初の要素を取得して削除します。必要に応じて、要素が利用可能になるまで待機します。
    この両端キューの最後の要素を取得して削除します。必要に応じて、要素が利用可能になるまで待機します。

    インタフェース java.util.concurrent.BlockingQueueで宣言されたメソッド

    drainTo, drainTo, remainingCapacity

    インタフェース java.util.Collectionで宣言されたメソッド

    clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray

    インタフェース java.util.Dequeで宣言されたメソッド

    addAll, descendingIterator, getFirst, getLast, peekFirst, peekLast, pollFirst, pollLast, pop, removeFirst, removeLast

    インタフェース java.lang.Iterableで宣言されたメソッド

    forEach
  • メソッドの詳細

    • addFirst

      void addFirst(E e)
      容量制限に違反することなく指定された要素をこの両端キューの先頭にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。 容量制限のある両端キューを使用する場合、通常はofferFirstメソッドを使用することをお薦めします。
      定義:
      addFirst、インタフェース: Deque<E>
      パラメータ:
      e - 追加する要素
      例外:
      IllegalStateException - 容量制限のために、この時点で要素を追加できない場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • addLast

      void addLast(E e)
      容量制限に違反することなく指定された要素をこの両端キューの末尾にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。 容量制限のある両端キューを使用する場合、通常はofferLastメソッドを使用することをお薦めします。
      定義:
      addLast、インタフェース: Deque<E>
      パラメータ:
      e - 追加する要素
      例外:
      IllegalStateException - 容量制限のために、この時点で要素を追加できない場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offerFirst

      boolean offerFirst(E e)
      容量制限に違反することなしに指定された要素をこの両端キューの先頭にすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。 容量制限のある両端キューを使用する場合、通常は、要素の挿入に失敗した場合に例外をスローするのみのaddFirstメソッドよりもこのメソッドを使用することをお薦めします。
      定義:
      offerFirst、インタフェース: Deque<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      要素がこの両端キューに追加された場合はtrue、それ以外の場合はfalse
      例外:
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offerLast

      boolean offerLast(E e)
      容量制限に違反することなしに指定された要素をこの両端キューの末尾にすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。 容量制限のある両端キューを使用する場合、通常は、要素の挿入に失敗した場合に例外をスローするのみのaddLastメソッドよりもこのメソッドを使用することをお薦めします。
      定義:
      offerLast、インタフェース: Deque<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      要素がこの両端キューに追加された場合はtrue、それ以外の場合はfalse
      例外:
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • putFirst

      void putFirst(E e) throws InterruptedException
      指定された要素をこの両端キューの先頭に挿入します。必要に応じて、空きが生じるまで待機します。
      パラメータ:
      e - 追加する要素
      例外:
      InterruptedException - 待機中に割込みが発生した場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • putLast

      void putLast(E e) throws InterruptedException
      指定された要素をこの両端キューの末尾に挿入します。必要に応じて、空きが生じるまで待機します。
      パラメータ:
      e - 追加する要素
      例外:
      InterruptedException - 待機中に割込みが発生した場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offerFirst

      boolean offerFirst(E e, long timeout, TimeUnit unit) throws InterruptedException
      指定された要素をこの両端キューの先頭に挿入します。必要に応じて、指定された待機時間まで空きが生じるのを待機します。
      パラメータ:
      e - 追加する要素
      timeout - 処理を中止するまでの待機時間。単位はunit
      unit - timeoutパラメータの解釈方法を決定するTimeUnit
      戻り値:
      成功した場合はtrue、空きが生じる前に指定された待機時間が経過した場合はfalse
      例外:
      InterruptedException - 待機中に割込みが発生した場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offerLast

      boolean offerLast(E e, long timeout, TimeUnit unit) throws InterruptedException
      指定された要素をこの両端キューの末尾に挿入します。必要に応じて、指定された待機時間まで空きが生じるのを待機します。
      パラメータ:
      e - 追加する要素
      timeout - 処理を中止するまでの待機時間。単位はunit
      unit - timeoutパラメータの解釈方法を決定するTimeUnit
      戻り値:
      成功した場合はtrue、空きが生じる前に指定された待機時間が経過した場合はfalse
      例外:
      InterruptedException - 待機中に割込みが発生した場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • takeFirst

      E takeFirst() throws InterruptedException
      この両端キューの最初の要素を取得して削除します。必要に応じて、要素が利用可能になるまで待機します。
      戻り値:
      この両端キューの先頭
      例外:
      InterruptedException - 待機中に割込みが発生した場合
    • takeLast

      E takeLast() throws InterruptedException
      この両端キューの最後の要素を取得して削除します。必要に応じて、要素が利用可能になるまで待機します。
      戻り値:
      この両端キューの末尾
      例外:
      InterruptedException - 待機中に割込みが発生した場合
    • pollFirst

      E pollFirst(long timeout, TimeUnit unit) throws InterruptedException
      この両端キューの最初の要素を取得して削除します。必要に応じて、指定された待機時間まで要素が利用可能になるのを待機します。
      パラメータ:
      timeout - 処理を中止するまでの待機時間。単位はunit
      unit - timeoutパラメータの解釈方法を決定するTimeUnit
      戻り値:
      この両端キューの先頭。空きが生じる前に指定された待機時間が経過した場合はnull
      例外:
      InterruptedException - 待機中に割込みが発生した場合
    • pollLast

      E pollLast(long timeout, TimeUnit unit) throws InterruptedException
      この両端キューの最後の要素を取得して削除します。必要に応じて、指定された待機時間まで要素が利用可能になるのを待機します。
      パラメータ:
      timeout - 処理を中止するまでの待機時間。単位はunit
      unit - timeoutパラメータの解釈方法を決定するTimeUnit
      戻り値:
      この両端キューの末尾。空きが生じる前に指定された待機時間が経過した場合はnull
      例外:
      InterruptedException - 待機中に割込みが発生した場合
    • removeFirstOccurrence

      boolean removeFirstOccurrence(Object o)
      指定された要素のうち最初に出現したものを、この両端キューから削除します。 その要素が両端キューにない場合、変更はありません。 つまり、o.equals(e)となる最初の要素eが存在する場合は、その要素を削除します。 指定された要素がこの両端キューに含まれていた場合(すなわち、呼出しの結果としてこの両端キューが変更された場合)はtrueを返します。
      定義:
      removeFirstOccurrence、インタフェース: Deque<E>
      パラメータ:
      o - この両端キューから削除される要素(その要素が存在する場合)
      戻り値:
      この呼出しの結果として要素が削除された場合はtrue
      例外:
      ClassCastException - 指定された要素のクラスが、この両端キューと互換でない場合(オプション)
      NullPointerException - 指定された要素がnullの場合(オプション)
    • removeLastOccurrence

      boolean removeLastOccurrence(Object o)
      指定された要素のうち最後に出現したものを、この両端キューから削除します。 その要素が両端キューにない場合、変更はありません。 つまり、o.equals(e)となる最後の要素eが存在する場合は、その要素を削除します。 指定された要素がこの両端キューに含まれていた場合(すなわち、呼出しの結果としてこの両端キューが変更された場合)はtrueを返します。
      定義:
      removeLastOccurrence、インタフェース: Deque<E>
      パラメータ:
      o - この両端キューから削除される要素(その要素が存在する場合)
      戻り値:
      この呼出しの結果として要素が削除された場合はtrue
      例外:
      ClassCastException - 指定された要素のクラスが、この両端キューと互換でない場合(オプション)
      NullPointerException - 指定された要素がnullの場合(オプション)
    • add

      boolean add(E e)
      指定された要素を、この両端キューで表されるキュー(つまり、この両端キューの末尾)に、容量制限に違反することなしにすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。 容量制限のある両端キューを使用する場合、通常はofferを使用することをお薦めします。

      このメソッドは、addLastと同等です。

      定義:
      add 、インタフェース: BlockingQueue<E>
      定義:
      add、インタフェース: Collection<E>
      定義:
      add、インタフェース: Deque<E>
      定義:
      add、インタフェース: Queue<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      true (Collection.add(E)で指定されているとおり)
      例外:
      IllegalStateException - 容量制限のために、この時点で要素を追加できない場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offer

      boolean offer(E e)
      指定された要素を、この両端キューで表されるキュー(つまり、この両端キューの末尾)に、容量制限に違反することなしにすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。 容量制限のある両端キューを使用する場合、通常は、要素の挿入に失敗した場合に例外をスローするのみのadd(E)メソッドよりもこのメソッドを使用することをお薦めします。

      このメソッドは、offerLastと同等です。

      定義:
      offer、インタフェース: BlockingQueue<E>
      定義:
      offer、インタフェース: Deque<E>
      定義:
      offer、インタフェース: Queue<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      このキューに要素が追加された場合はtrue、それ以外の場合はfalse
      例外:
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • put

      void put(E e) throws InterruptedException
      指定された要素をこの両端キューで表されるキュー(つまり、この両端キューの末尾)に挿入します。必要に応じて、空きが生じるまで待機します。

      このメソッドは、putLastと同等です。

      定義:
      put、インタフェース: BlockingQueue<E>
      パラメータ:
      e - 追加する要素
      例外:
      InterruptedException - 待機中に割込みが発生した場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offer

      boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException
      指定された要素をこの両端キューで表されるキュー(つまり、この両端キューの末尾)に挿入します。必要に応じて、指定された待機時間まで空きが生じるのを待機します。

      このメソッドは、offerLastと同等です。

      定義:
      offer、インタフェース: BlockingQueue<E>
      パラメータ:
      e - 追加する要素
      timeout - 処理を中止するまでの待機時間。単位はunit
      unit - timeoutパラメータの解釈方法を決定するTimeUnit
      戻り値:
      要素がこの両端キューに追加された場合はtrue、それ以外の場合はfalse
      例外:
      InterruptedException - 待機中に割込みが発生した場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • remove

      E remove()
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpoll()メソッドと異なります。

      このメソッドは、removeFirstと同等です。

      定義:
      remove、インタフェース: Deque<E>
      定義:
      remove、インタフェース: Queue<E>
      戻り値:
      この両端キューで表されるキューの先頭
      例外:
      NoSuchElementException - この両端キューが空の場合
    • poll

      E poll()
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得および削除します。両端キューが空の場合は、nullを返します。

      このメソッドは、Deque.pollFirst()と同等です。

      定義:
      poll、インタフェース: Deque<E>
      定義:
      poll、インタフェース: Queue<E>
      戻り値:
      この両端キューの先頭。この両端キューが空の場合はnull
    • take

      E take() throws InterruptedException
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。必要に応じて、要素が利用可能になるまで待機します。

      このメソッドは、takeFirstと同等です。

      定義:
      take、インタフェース: BlockingQueue<E>
      戻り値:
      この両端キューの先頭
      例外:
      InterruptedException - 待機中に割込みが発生した場合
    • poll

      E poll(long timeout, TimeUnit unit) throws InterruptedException
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。必要に応じて、指定された待機時間まで要素が利用可能になるのを待機します。

      このメソッドは、pollFirstと同等です。

      定義:
      poll、インタフェース: BlockingQueue<E>
      パラメータ:
      timeout - 処理を中止するまでの待機時間。単位はunit
      unit - timeoutパラメータの解釈方法を決定するTimeUnit
      戻り値:
      この両端キューの先頭。空きが生じる前に指定された待機時間が経過した場合はnull
      例外:
      InterruptedException - 待機中に割込みが発生した場合
    • element

      E element()
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpeekメソッドと異なります。

      このメソッドは、getFirstと同等です。

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

      E peek()
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。両端キューが空の場合は、nullを返します。

      このメソッドは、peekFirstと同等です。

      定義:
      peek、インタフェース: Deque<E>
      定義:
      peek、インタフェース: Queue<E>
      戻り値:
      この両端キューの先頭。この両端キューが空の場合はnull
    • remove

      boolean remove(Object o)
      指定された要素のうち最初に出現したものを、この両端キューから削除します。 その要素が両端キューにない場合、変更はありません。 つまり、o.equals(e)となる最初の要素eが存在する場合は、その要素を削除します。 指定された要素がこの両端キューに含まれていた場合(すなわち、呼出しの結果としてこの両端キューが変更された場合)はtrueを返します。

      このメソッドは、removeFirstOccurrenceと同等です。

      定義:
      remove、インタフェース: BlockingQueue<E>
      定義:
      remove、インタフェース: Collection<E>
      定義:
      remove、インタフェース: Deque<E>
      パラメータ:
      o - この両端キューから削除される要素(その要素が存在する場合)
      戻り値:
      この呼出しの結果、この両端キューが変更された場合はtrue
      例外:
      ClassCastException - 指定された要素のクラスが、この両端キューと互換でない場合(オプション)
      NullPointerException - 指定された要素がnullの場合(オプション)
    • contains

      boolean contains(Object o)
      指定された要素がこの両端キューに含まれている場合にtrueを返します。 つまり、この両端キューに、o.equals(e)となる要素eが1つ以上含まれている場合にだけtrueを返します。
      定義:
      contains、インタフェース: BlockingQueue<E>
      定義:
      contains、インタフェース: Collection<E>
      定義:
      contains、インタフェース: Deque<E>
      パラメータ:
      o - この両端キューに含まれているかどうかを調べるオブジェクト
      戻り値:
      指定された要素がこの両端キューに含まれている場合はtrue
      例外:
      ClassCastException - 指定された要素のクラスが、この両端キューと互換でない場合(オプション)
      NullPointerException - 指定された要素がnullの場合(オプション)
    • size

      int size()
      この両端キュー内の要素の数を返します。
      定義:
      size、インタフェース: Collection<E>
      定義:
      size、インタフェース: Deque<E>
      戻り値:
      この両端キュー内の要素の数
    • iterator

      Iterator<E> iterator()
      この両端キュー内の要素を適切な順序で反復処理するイテレータを返します。 要素は最初(先頭)から最後(末尾)の順に返されます。
      定義:
      iterator、インタフェース: Collection<E>
      定義:
      iterator、インタフェース: Deque<E>
      定義:
      iterator、インタフェース: Iterable<E>
      戻り値:
      この両端キュー内の要素を適切な順序で繰返し処理するイテレータ
    • push

      void push(E e)
      容量制限に違反することなしに要素をこの両端キューで表されるスタック(つまり、この両端キューの先頭)にすぐにプッシュできる場合は、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。

      このメソッドは、addFirstと同等です。

      定義:
      push、インタフェース: Deque<E>
      パラメータ:
      e - プッシュする要素
      例外:
      IllegalStateException - 容量制限のために、この時点で要素を追加できない場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullである場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合