クラスConcurrentLinkedDeque<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.concurrent.ConcurrentLinkedDeque<E>
型パラメータ:
E - この両端キューに保持されている要素の型
すべての実装されたインタフェース:
Serializable, Iterable<E>, Collection<E>, Deque<E>, Queue<E>, SequencedCollection<E>

public class ConcurrentLinkedDeque<E> extends AbstractCollection<E> implements Deque<E>, Serializable
リンク・ノードに基づく、制限なしの並行両端キューです。 挿入、削除、およびアクセスの並行オペレーションは、複数のスレッドにわたって安全に実行されます。 共通のコレクションへのアクセスを多数のスレッドが共有する場合、ConcurrentLinkedDequeは選択肢として適切です。 大半のコレクション実装と同様、このクラスはnull要素の使用を許容しません。

イテレータおよびスプリッテレータは弱一貫性を持っています

大半のコレクションとは異なり、sizeメソッドは一定時間のオペレーションではないことに留意してください。 これらの両端キューの非同期の性質のために、現在の要素の数を判定するには要素のトラバーサルが必要になります。そのため、このコレクションがトラバーサル中に変更された場合は、不正確な結果が報告される可能性があります。

addAll(Collection)removeIf(Predicate)forEach(Consumer)などの複数の要素を追加、削除、または検査するバルク操作は、原子的に実行されることは保証されていません たとえば、 addAll操作と並行するforEachトラバースでは、追加された要素の一部のみが監視される場合があります。

このクラスとそのイテレータは、DequeおよびIteratorインタフェースの任意メソッドすべてを実装します。

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

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

導入されたバージョン:
1.7
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    空の両端キューを構築します。
    指定されたコレクションの要素を初期状態で含む(要素はコレクションのイテレータのトラバーサル順に追加)両端キューを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    add(E e)
    指定された要素をこの両端キューの末尾に挿入します。
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクション内のすべての要素を、指定されたコレクションのイテレータによって返される順序でこの両端キューの最後に追加します。
    void
    指定された要素をこの両端キューの先頭に挿入します。
    void
    指定された要素をこの両端キューの末尾に挿入します。
    void
    すべての要素を両端キューから削除します。
    boolean
    指定された要素がこの両端キューに含まれている場合にtrueを返します。
    この両端キュー内の要素を逆順で反復処理するイテレータを返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。
    void
    forEach(Consumer<? super E> action)
    Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。
    この両端キューの最初の要素を取得しますが、削除はしません。
    この両端キューの最後の要素を取得しますが、削除はしません。
    boolean
    このコレクションに要素がない場合にtrueを返します。
    この両端キュー内の要素を適切な順序で反復処理するイテレータを返します。
    boolean
    offer(E e)
    指定された要素をこの両端キューの末尾に挿入します。
    boolean
    指定された要素をこの両端キューの先頭に挿入します。
    boolean
    指定された要素をこの両端キューの末尾に挿入します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。両端キューが空の場合は、nullを返します。
    この両端キューの最初の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
    この両端キューの最後の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得および削除します。両端キューが空の場合は、nullを返します。
    この両端キューの最初の要素を取得および削除します。両端キューが空の場合はnullを返します。
    この両端キューの最後の要素を取得および削除します。両端キューが空の場合はnullを返します。
    pop()
    この両端キューで表されるスタックに要素をポップします。
    void
    push(E e)
    容量制限に違反することなしに要素をこの両端キューで表されるスタック(つまり、この両端キューの先頭)にすぐにプッシュできる場合は、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。
    boolean
    指定された要素のうち最初に出現したものを、この両端キューから削除します。
    boolean
    指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。
    この両端キューの最初の要素を取得して削除します。
    boolean
    指定された要素のうち最初に出現したものを、この両端キューから削除します。
    boolean
    removeIf(Predicate<? super E> filter)
    指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。
    この両端キューの最後の要素を取得して削除します。
    boolean
    指定された要素のうち最後に出現したものを、この両端キューから削除します。
    boolean
    このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。
    int
    この両端キュー内の要素の数を返します。
    この両端キュー内の要素に対するSpliteratorを返します。
    両端キュー内のすべての要素を適切な順序(最初の要素から最後の要素へ)で格納している配列を返します。
    <T> T[]
    toArray(T[] a)
    両端キュー内のすべての要素を適切な順序(最初の要素から最後の要素へ)で格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。

    クラスで宣言されたメソッド AbstractCollection

    containsAll, toString
    修飾子と型
    メソッド
    説明
    boolean
    指定したコレクションのすべての要素がこのコレクションに含まれている場合、trueを返します。
    このコレクションの文字列表現を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。

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

    equals, hashCode, parallelStream, stream, toArray
    修飾子と型
    メソッド
    説明
    boolean
    指定されたオブジェクトとこのコレクションが等しいかどうかを比較します。
    int
    コレクションのハッシュ・コード値を返します。
    default Stream<E>
    このコレクションをソースとして、潜在的に並列のStreamを返します。
    default Stream<E>
    このコレクションをソースとして使用して、逐次的なStreamを返します。
    default <T> T[]
    toArray(IntFunction<T[]> generator)
    指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。

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

    reversed
    修飾子と型
    メソッド
    説明
    default Deque<E>
    このコレクションの逆順viewを返します。
  • コンストラクタの詳細

    • ConcurrentLinkedDeque

      public ConcurrentLinkedDeque()
      空の両端キューを構築します。
    • ConcurrentLinkedDeque

      public ConcurrentLinkedDeque(Collection<? extends E> c)
      指定されたコレクションの要素を初期状態で含む(要素はコレクションのイテレータのトラバーサル順に追加)両端キューを構築します。
      パラメータ:
      c - 初期状態で含む要素のコレクション
      スロー:
      NullPointerException - 指定されたコレクションまたはそのいずれかの要素がnullである場合
  • メソッドの詳細

    • addFirst

      public void addFirst(E e)
      指定された要素をこの両端キューの先頭に挿入します。 両端キューがアンバウンド形式であるため、このメソッドはIllegalStateExceptionをスローしません。
      定義:
      addFirst、インタフェースDeque<E>
      定義:
      インタフェースSequencedCollection<E>内のaddFirst
      パラメータ:
      e - 追加する要素
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • addLast

      public void addLast(E e)
      指定された要素をこの両端キューの末尾に挿入します。 両端キューがアンバウンド形式であるため、このメソッドはIllegalStateExceptionをスローしません。

      このメソッドは、add(E)と同等です。

      定義:
      addLast、インタフェースDeque<E>
      定義:
      インタフェースSequencedCollection<E>内のaddLast
      パラメータ:
      e - 追加する要素
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • offerFirst

      public boolean offerFirst(E e)
      指定された要素をこの両端キューの先頭に挿入します。 両端キューがアンバウンド形式であるため、このメソッドはfalseを返しません。
      定義:
      offerFirst、インタフェースDeque<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      true (Deque.offerFirst(E)で指定されているとおり)
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • offerLast

      public boolean offerLast(E e)
      指定された要素をこの両端キューの末尾に挿入します。 両端キューがアンバウンド形式であるため、このメソッドはfalseを返しません。

      このメソッドは、add(E)と同等です。

      定義:
      offerLast、インタフェースDeque<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      true (Deque.offerLast(E)で指定されているとおり)
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • peekFirst

      public E peekFirst()
      インタフェースからコピーされた説明: Deque
      この両端キューの最初の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
      定義:
      peekFirst、インタフェースDeque<E>
      戻り値:
      この両端キューの先頭。この両端キューが空の場合はnull
    • peekLast

      public E peekLast()
      インタフェースからコピーされた説明: Deque
      この両端キューの最後の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
      定義:
      peekLast、インタフェースDeque<E>
      戻り値:
      この両端キューの末尾。この両端キューが空の場合はnull
    • getFirst

      public E getFirst()
      インタフェースからコピーされた説明: Deque
      この両端キューの最初の要素を取得しますが、削除はしません。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpeekFirstメソッドと異なります。
      定義:
      getFirst、インタフェースDeque<E>
      定義:
      インタフェースSequencedCollection<E>内のgetFirst
      戻り値:
      この両端キューの先頭
      スロー:
      NoSuchElementException - この両端キューが空の場合
    • getLast

      public E getLast()
      インタフェースからコピーされた説明: Deque
      この両端キューの最後の要素を取得しますが、削除はしません。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpeekLastメソッドと異なります。
      定義:
      getLast、インタフェースDeque<E>
      定義:
      インタフェースSequencedCollection<E>内のgetLast
      戻り値:
      この両端キューの末尾
      スロー:
      NoSuchElementException - この両端キューが空の場合
    • pollFirst

      public E pollFirst()
      インタフェースからコピーされた説明: Deque
      この両端キューの最初の要素を取得および削除します。両端キューが空の場合はnullを返します。
      定義:
      pollFirst、インタフェースDeque<E>
      戻り値:
      この両端キューの先頭。この両端キューが空の場合はnull
    • pollLast

      public E pollLast()
      インタフェースからコピーされた説明: Deque
      この両端キューの最後の要素を取得および削除します。両端キューが空の場合はnullを返します。
      定義:
      pollLast、インタフェースDeque<E>
      戻り値:
      この両端キューの末尾。この両端キューが空の場合はnull
    • removeFirst

      public E removeFirst()
      インタフェースからコピーされた説明: Deque
      この両端キューの最初の要素を取得して削除します。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpollFirstメソッドと異なります。
      定義:
      removeFirst、インタフェースDeque<E>
      定義:
      インタフェースSequencedCollection<E>内のremoveFirst
      戻り値:
      この両端キューの先頭
      スロー:
      NoSuchElementException - この両端キューが空の場合
    • removeLast

      public E removeLast()
      インタフェースからコピーされた説明: Deque
      この両端キューの最後の要素を取得して削除します。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpollLastメソッドと異なります。
      定義:
      removeLast、インタフェースDeque<E>
      定義:
      インタフェースSequencedCollection<E>内のremoveLast
      戻り値:
      この両端キューの末尾
      スロー:
      NoSuchElementException - この両端キューが空の場合
    • offer

      public boolean offer(E e)
      指定された要素をこの両端キューの末尾に挿入します。 両端キューがアンバウンド形式であるため、このメソッドはfalseを返しません。
      定義:
      offer、インタフェースDeque<E>
      定義:
      offer、インタフェースQueue<E>
      パラメータ:
      e - 追加する要素
      戻り値:
      true (Queue.offer(E)で指定されているとおり)
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • add

      public boolean add(E e)
      指定された要素をこの両端キューの末尾に挿入します。 両端キューがアンバウンド形式であるため、このメソッドはIllegalStateExceptionをスローしないか、またはfalseを返します。
      定義:
      add、インタフェースCollection<E>
      定義:
      add、インタフェースDeque<E>
      定義:
      add、インタフェースQueue<E>
      オーバーライド:
      add、クラスAbstractCollection<E>
      パラメータ:
      e - このコレクションにあるかどうかを調べる要素
      戻り値:
      true (Collection.add(E)で指定されているとおり)
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • poll

      public E poll()
      インタフェースからコピーされた説明: Deque
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得および削除します。両端キューが空の場合は、nullを返します。

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

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

      public E peek()
      インタフェースからコピーされた説明: Deque
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。両端キューが空の場合は、nullを返します。

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

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

      public E remove()
      インタフェースからコピーされた説明: Deque
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpoll()メソッドと異なります。

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

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

      public E pop()
      インタフェースからコピーされた説明: Deque
      この両端キューで表されるスタックに要素をポップします。 つまり、この両端キューの最初の要素を削除して返します。

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

      定義:
      pop、インタフェースDeque<E>
      戻り値:
      この両端キューの先頭の要素(この両端キューによって表されるスタックの上部)
      スロー:
      NoSuchElementException - この両端キューが空の場合
    • element

      public E element()
      インタフェースからコピーされた説明: Deque
      この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。 このメソッドは、両端キューが空の場合に例外をスローする点のみがpeekメソッドと異なります。

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

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

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

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

      定義:
      push、インタフェースDeque<E>
      パラメータ:
      e - プッシュする要素
      スロー:
      NullPointerException - 指定された要素がnullで、この両端キューがnull要素を許可しない場合
    • removeFirstOccurrence

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

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

      public boolean contains(Object o)
      指定された要素がこの両端キューに含まれている場合にtrueを返します。 つまり、この両端キューに、o.equals(e)となる要素eが1つ以上含まれている場合にだけtrueを返します。
      定義:
      contains、インタフェースCollection<E>
      定義:
      contains、インタフェースDeque<E>
      オーバーライド:
      contains、クラスAbstractCollection<E>
      パラメータ:
      o - この両端キューにあるかどうかを調べる要素
      戻り値:
      指定された要素がこの両端キューに含まれている場合はtrue
    • isEmpty

      public boolean isEmpty()
      このコレクションに要素がない場合にtrueを返します。
      定義:
      isEmpty、インタフェースCollection<E>
      オーバーライド:
      isEmpty、クラスAbstractCollection<E>
      戻り値:
      このコレクションに要素が含まれていない場合はtrue
    • size

      public int size()
      この両端キュー内の要素の数を返します。 この両端キューにInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。

      大半のコレクションとは異なり、このメソッドは一定時間のオペレーションではないことに留意してください。 これらの両端キューの非同期の性質のために、現在の要素の数を判定するには、そのすべてをトラバースしてカウントすることが必要になります。 また、このメソッドの実行中にサイズが変更される可能性もあり、その場合、返される値は不正確になります。 そのため、このメソッドは、通常は並行処理アプリケーションではあまり便利ではありません。

      定義:
      size、インタフェースCollection<E>
      定義:
      size、インタフェースDeque<E>
      戻り値:
      この両端キュー内の要素の数
    • remove

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

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

      定義:
      remove、インタフェースCollection<E>
      定義:
      remove、インタフェースDeque<E>
      オーバーライド:
      remove、クラスAbstractCollection<E>
      パラメータ:
      o - この両端キューから削除される要素(その要素が存在する場合)
      戻り値:
      指定された要素がこの両端キューに含まれていた場合はtrue
      スロー:
      NullPointerException - 指定された要素がnullである場合
    • addAll

      public boolean addAll(Collection<? extends E> c)
      指定されたコレクション内のすべての要素を、指定されたコレクションのイテレータによって返される順序でこの両端キューの最後に追加します。 両端キューをそれ自体に対してaddAllしようとすると、IllegalArgumentExceptionが発生します。
      定義:
      addAll、インタフェースCollection<E>
      定義:
      インタフェースDeque<E>内のaddAll
      オーバーライド:
      addAll、クラスAbstractCollection<E>
      パラメータ:
      c - この両端キューに挿入される要素
      戻り値:
      この呼出しの結果、この両端キューが変更された場合はtrue
      スロー:
      NullPointerException - 指定されたコレクションまたはそのいずれかの要素がnullである場合
      IllegalArgumentException - コレクションがこの両端キューである場合
      関連項目:
    • clear

      public void clear()
      すべての要素を両端キューから削除します。
      定義:
      clear、インタフェースCollection<E>
      オーバーライド:
      clear、クラスAbstractCollection<E>
    • toArray

      public Object[] toArray()
      両端キュー内のすべての要素を適切な順序(最初の要素から最後の要素へ)で格納している配列を返します。

      返される配列への参照を両端キューが維持しないという点で、この配列は安全です。 (つまり、このメソッドは新しい配列を割り当てます)。 このため、呼出し側は、返された配列を自由に変更できます。

      このメソッドは、配列ベースのAPIとコレクションベースのAPIの間の橋渡し役として機能します。

      定義:
      toArray、インタフェースCollection<E>
      オーバーライド:
      toArray、クラスAbstractCollection<E>
      戻り値:
      両端キューのすべての要素が格納されている配列
    • toArray

      public <T> T[] toArray(T[] a)
      両端キュー内のすべての要素を適切な順序(最初の要素から最後の要素へ)で格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。 指定された配列に両端キューが収まる場合は、その中に返されます。 そうでない場合は、指定された配列の実行時の型と両端キューのサイズを持つ新しい配列が割り当てられます。

      両端キューが指定された配列に収まり、その配列にさらに余裕がある場合(つまり、配列が両端キューより多くの要素を持つ場合)、その配列内で両端キューの終端よりあとの要素はnullに設定されます。

      toArray()メソッドと同じように、このメソッドは、配列ベースのAPIとコレクションベースのAPIの間の橋渡し役として機能します。 さらに、このメソッドでは出力配列の実行時の型を正確に制御できるため、環境によっては割当ての手間を抑えるために使用できます。

      xが、文字列だけからなる両端キューであることがわかっていると仮定します。 次のコードを使うと、新しく割り当てられたStringの配列に両端キューをダンプできます。

       String[] y = x.toArray(new String[0]);
      toArray(new Object[0])は、機能の点でtoArray()と同一です。

      定義:
      toArray、インタフェースCollection<E>
      オーバーライド:
      toArray、クラスAbstractCollection<E>
      型パラメータ:
      T - コレクションを格納する配列のコンポーネント型
      パラメータ:
      a - 配列が十分な大きさを持つ場合は、両端キューの要素が格納される配列。そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
      戻り値:
      両端キューのすべての要素が格納されている配列
      スロー:
      ArrayStoreException - 指定された配列の実行時の型が、この両端キュー内のすべての要素の実行時の型のスーパー・タイプでない場合
      NullPointerException - 指定された配列がnullである場合
    • iterator

      public Iterator<E> iterator()
      この両端キュー内の要素を適切な順序で反復処理するイテレータを返します。 要素は最初(先頭)から最後(末尾)の順に返されます。

      返されるイテレータは弱一貫性を保持します。

      定義:
      iterator、インタフェースCollection<E>
      定義:
      iterator、インタフェースDeque<E>
      定義:
      iterator、インタフェースIterable<E>
      定義:
      iterator、クラスAbstractCollection<E>
      戻り値:
      この両端キュー内の要素を適切な順序で反復処理するイテレータ
    • descendingIterator

      public Iterator<E> descendingIterator()
      この両端キュー内の要素を逆順で反復処理するイテレータを返します。 要素は最後(末尾)から最初(先頭)の順に返されます。

      返されるイテレータは弱一貫性を保持します。

      定義:
      descendingIterator、インタフェースDeque<E>
      戻り値:
      この両端キュー内の要素を逆順で繰返し処理するイテレータ
    • spliterator

      public Spliterator<E> spliterator()
      この両端キュー内の要素に対するSpliteratorを返します。

      返されるスプリッテレータは弱一貫性を保持します。

      Spliteratorは、Spliterator.CONCURRENTSpliterator.ORDEREDおよびSpliterator.NONNULLを報告します。

      定義:
      spliterator、インタフェースCollection<E>
      定義:
      spliterator、インタフェースIterable<E>
      実装上のノート:
      Spliteratorは、制限付きの並列処理を許可するためにtrySplitを実装します。
      戻り値:
      この両端キュー内の要素に対するSpliterator
      導入されたバージョン:
      1.8
    • removeIf

      public boolean removeIf(Predicate<? super E> filter)
      次のインタフェースからコピーされた説明: Collection
      指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。 反復中に、または述語によってスローされたエラーまたは実行時例外は、呼出し側に中継されます。
      定義:
      removeIf、インタフェースCollection<E>
      パラメータ:
      filter - 削除される要素に対してtrueを返す述語
      戻り値:
      要素が削除された場合はtrue
      スロー:
      NullPointerException - 指定されたフィルタがnullである場合
    • removeAll

      public boolean removeAll(Collection<?> c)
      次のクラスからコピーされた説明: AbstractCollection
      指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。 この呼出しの結果、このコレクションには指定されたコレクションと共通の要素はなくなります。
      定義:
      removeAll、インタフェースCollection<E>
      オーバーライド:
      removeAll、クラスAbstractCollection<E>
      パラメータ:
      c - このコレクションから削除される要素を含むコレクション
      戻り値:
      コールの結果としてこのコレクションが変更された場合、true
      スロー:
      NullPointerException - このコレクションに1つ以上のnull要素が含まれ、指定したコレクションがnull要素(optional)をサポートしていない場合、または指定されたコレクションがnullの場合
      関連項目:
    • retainAll

      public boolean retainAll(Collection<?> c)
      次のクラスからコピーされた説明: AbstractCollection
      このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。 つまり、指定されたコレクションに格納されていないすべての要素をこのコレクションから削除します。
      定義:
      retainAll、インタフェースCollection<E>
      オーバーライド:
      retainAll、クラスAbstractCollection<E>
      パラメータ:
      c - このコレクションで保持される要素を含むコレクション
      戻り値:
      コールの結果としてこのコレクションが変更された場合、true
      スロー:
      NullPointerException - このコレクションに1つ以上のnull要素が含まれ、指定したコレクションでnull要素(optional)が許可されていない場合、または指定されたコレクションがnullの場合
      関連項目:
    • forEach

      public void forEach(Consumer<? super E> action)
      インタフェースからコピーされた説明: Iterable
      Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。 反復の順序でアクションが実行されます(その順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。

      このメソッドの動作は、オーバーライドするクラスが同時変更ポリシーを指定していないかぎり、要素の基礎となるソースを変更する副作用をアクションが実行する場合には指定されません。

      定義:
      forEach、インタフェースIterable<E>
      パラメータ:
      action - 各要素に対して実行されるアクション
      スロー:
      NullPointerException - 指定されたアクションがnullである場合