インタフェースDeque<E>

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

public interface Deque<E> extends Queue<E>, SequencedCollection<E>
両端で要素の挿入および削除をサポートする線形コレクションです。 deque」という名前は、「double ended queue」(両端キュー)の省略形であり、通常は「デック」と発音されます。 Dequeのほとんどの実装では格納可能な要素の数に固定された制限はありませんが、このインタフェースでは、容量が制限された両端キューと、固定サイズ制限のない両端キューをサポートしています。

このインタフェースは、両端キューの両端にある要素にアクセスするメソッドを定義します。 要素を挿入、削除、および検査するためのメソッドが提供されています。 これらのメソッドにはそれぞれ、2つの形式があります。1つは操作が失敗したときに例外をスローし、もう1つは特殊な値(操作に応じてnullまたはfalseのいずれか)を返します。 後者の形式の挿入操作は、容量の制限されたDeque実装用として特別に設計されたものですが、ほとんどの実装では挿入操作は失敗できません。

前述の12個のメソッドについて次の表にまとめます。

Dequeメソッドのサマリー
最初の要素(先頭) 最後の要素(末尾)
例外のスロー 特殊な値 例外のスロー 特殊な値
挿入 addFirst(e) offerFirst(e) addLast(e) offerLast(e)
削除 removeFirst() pollFirst() removeLast() pollLast()
調査 getFirst() peekFirst() getLast() peekLast()

このインタフェースは、Queueインタフェースを拡張します。 両端キューがキューとして使用される場合、FIFO (先入れ先出し)動作になります。 要素は両端キューの末尾に追加され、先頭から削除されます。 Queueインタフェースから継承されたメソッドは、次の表に示すようにDequeメソッドと完全に等価です。

QueueメソッドとDequeメソッドの比較
Queueメソッド 等価なDequeメソッド
add(e) addLast(e)
offer(e) offerLast(e)
remove() removeFirst()
poll() pollFirst()
element() getFirst()
peek() peekFirst()

両端キューは、LIFO (後入れ先出し)スタックとして使用することもできます。 .従来のStackクラスよりもこのインタフェースを優先して使用してください。 両端キューがスタックとして使用される場合、両端キューの先頭から要素のプッシュとポップが行われます。 スタック・メソッドは、次の表に示すようにDequeメソッドと同等です。

StackメソッドとDequeメソッドの比較
Stackメソッド 等価なDequeメソッド
push(e) addFirst(e)
pop() removeFirst()
peek() peekFirst()

両端キューがキューまたはスタックとして使用される場合、peekメソッドも同様に機能します。どちらの場合も、要素は両端キューの先頭から取り出されます。

このインタフェースには、内部要素を削除するための2つのメソッドremoveFirstOccurrenceおよびremoveLastOccurrenceがあります。

Listインタフェースとは異なり、このインタフェースはインデックスで要素にアクセスするためのサポートを提供しません。

Deque実装では、null要素の挿入を禁止することが厳密には必要ありませんが、禁止することを強くお薦めします。 null要素が許可されたDeque実装のユーザーは、nullを挿入する機能を利用しないことを強くお薦めします。 これは、nullが、デキューが空であることを示す様々なメソッドによって特殊な戻り値として使用されるためです。

通常、Deque実装は要素ベースのequalsメソッドおよびhashCodeメソッドを定義しませんが、Objectクラスからアイデンティティ・ベースのメソッドを継承します。

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

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

    修飾子と型
    メソッド
    説明
    boolean
    add(E e)
    指定された要素を、この両端キューで表されるキュー(つまり、この両端キューの末尾)に、容量制限に違反することなしにすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    boolean
    addAll(Collection<? extends E> c)
    このデキューの最後に指定されたコレクション内のすべての要素を、コレクションのイテレータによって戻される順序で、各デキューに対してaddLast(E)をコールするかのように追加します。
    void
    容量制限に違反することなく指定された要素をこの両端キューの先頭にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    void
    容量制限に違反することなく指定された要素をこの両端キューの末尾にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    boolean
    指定された要素がこの両端キューに含まれている場合にtrueを返します。
    この両端キュー内の要素を逆順で反復処理するイテレータを返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。
    この両端キューの最初の要素を取得しますが、削除はしません。
    この両端キューの最後の要素を取得しますが、削除はしません。
    この両端キュー内の要素を適切な順序で反復処理するイテレータを返します。
    boolean
    offer(E e)
    指定された要素を、この両端キューで表されるキュー(つまり、この両端キューの末尾)に、容量制限に違反することなしにすぐに挿入できる場合には、そうします。成功した場合はtrueを返し、使用可能な空き領域がその時点で存在しない場合はfalseを返します。
    boolean
    容量制限に違反しないかぎり、指定された要素をこの両端キューの先頭に挿入します。
    boolean
    容量制限に違反しないかぎり、指定された要素をこの両端キューの末尾に挿入します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得しますが、削除しません。両端キューが空の場合は、nullを返します。
    この両端キューの最初の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
    この両端キューの最後の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得および削除します。両端キューが空の場合は、nullを返します。
    この両端キューの最初の要素を取得および削除します。両端キューが空の場合はnullを返します。
    この両端キューの最後の要素を取得および削除します。両端キューが空の場合はnullを返します。
    pop()
    この両端キューで表されるスタックに要素をポップします。
    void
    push(E e)
    容量制限に違反することなしに要素をこの両端キューで表されるスタック(つまり、この両端キューの先頭)にすぐにプッシュできる場合は、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。
    この両端キューによって表されるキューの先頭(つまり、この両端キューの最初の要素)を取得して削除します。
    boolean
    指定された要素のうち最初に出現したものを、この両端キューから削除します。
    この両端キューの最初の要素を取得して削除します。
    boolean
    指定された要素のうち最初に出現したものを、この両端キューから削除します。
    この両端キューの最後の要素を取得して削除します。
    boolean
    指定された要素のうち最後に出現したものを、この両端キューから削除します。
    default Deque<E>
    このコレクションの逆順viewを返します。
    int
    この両端キュー内の要素の数を返します。

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

    clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray
    修飾子と型
    メソッド
    説明
    void
    このコレクションからすべての要素を削除します(オプションの操作)。
    boolean
    指定したコレクションのすべての要素がこのコレクションに含まれている場合、trueを返します。
    boolean
    指定されたオブジェクトとこのコレクションが等しいかどうかを比較します。
    int
    コレクションのハッシュ・コード値を返します。
    boolean
    このコレクションに要素がない場合にtrueを返します。
    default Stream<E>
    このコレクションをソースとして、潜在的に並列のStreamを返します。
    boolean
    指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。
    default boolean
    removeIf(Predicate<? super E> filter)
    指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。
    boolean
    このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。
    default Spliterator<E>
    このコレクション内の要素に対するSpliteratorを作成します。
    default Stream<E>
    このコレクションをソースとして使用して、逐次的なStreamを返します。
    このコレクションの要素がすべて格納されている配列を返します。
    default <T> T[]
    toArray(IntFunction<T[]> generator)
    指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。
    <T> T[]
    toArray(T[] a)
    このコレクション内のすべての要素を保持する配列を返します。返される配列の実行時の型は、指定された配列の型です。

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

    forEach
    修飾子と型
    メソッド
    説明
    default void
    forEach(Consumer<? super E> action)
    Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。
  • メソッドの詳細

    • addFirst

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

      void addLast(E e)
      容量制限に違反することなく指定された要素をこの両端キューの末尾にすぐに挿入できる場合には、そうします。使用可能な空き領域がその時点で存在しない場合はIllegalStateExceptionをスローします。 容量制限のある両端キューを使用する場合、通常はofferLast(E)メソッドを使用することをお薦めします。

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

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

      boolean offerFirst(E e)
      容量制限に違反しないかぎり、指定された要素をこの両端キューの先頭に挿入します。 容量制限のある両端キューを使用する場合、通常は、要素の挿入に失敗した場合に例外をスローするだけのaddFirst(E)メソッドよりもこのメソッドを使用することをお薦めします。
      パラメータ:
      e - 追加する要素
      戻り値:
      要素がこの両端キューに追加された場合はtrue、それ以外の場合はfalse
      スロー:
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullで、この両端キューがnull要素を許可しない場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • offerLast

      boolean offerLast(E e)
      容量制限に違反しないかぎり、指定された要素をこの両端キューの末尾に挿入します。 容量制限のある両端キューを使用する場合、通常は、要素の挿入に失敗した場合に例外をスローするだけのaddLast(E)メソッドよりもこのメソッドを使用することをお薦めします。
      パラメータ:
      e - 追加する要素
      戻り値:
      要素がこの両端キューに追加された場合はtrue、それ以外の場合はfalse
      スロー:
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullで、この両端キューがnull要素を許可しない場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • removeFirst

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

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

      E pollFirst()
      この両端キューの最初の要素を取得および削除します。両端キューが空の場合はnullを返します。
      戻り値:
      この両端キューの先頭。この両端キューが空の場合はnull
    • pollLast

      E pollLast()
      この両端キューの最後の要素を取得および削除します。両端キューが空の場合はnullを返します。
      戻り値:
      この両端キューの末尾。この両端キューが空の場合はnull
    • getFirst

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

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

      E peekFirst()
      この両端キューの最初の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
      戻り値:
      この両端キューの先頭。この両端キューが空の場合はnull
    • peekLast

      E peekLast()
      この両端キューの最後の要素を取得しますが、削除しません。両端キューが空の場合はnullを返します。
      戻り値:
      この両端キューの末尾。この両端キューが空の場合はnull
    • removeFirstOccurrence

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      boolean addAll(Collection<? extends E> c)
      このデキューの最後に指定されたコレクション内のすべての要素を、コレクションのイテレータによって戻される順序で、各デキューに対してaddLast(E)をコールするかのように追加します。

      容量制限付きの両端キューを使用する場合は、各要素ごとにofferを別々に呼び出す方が一般的に適しています。

      要素の追加中に例外が発生すると、関連する例外がスローされたときに要素の一部だけが正常に追加されることがあります。

      定義:
      addAll、インタフェースCollection<E>
      パラメータ:
      c - この両端キューに挿入される要素
      戻り値:
      この呼出しの結果、この両端キューが変更された場合はtrue
      スロー:
      IllegalStateException - 挿入制限のため、この時点で一部の要素を追加できない場合
      ClassCastException - 指定されたコレクションの要素のクラスがこの両端キューに追加できない場合
      NullPointerException - 指定されたコレクションがnull要素を含み、この両端キューがnull要素を許可しない場合、または指定されたコレクションがnullの場合
      IllegalArgumentException - 指定されたコレクションの要素のいくつかのプロパティが、この両端キューに追加できない場合
      関連項目:
    • push

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

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

      パラメータ:
      e - プッシュする要素
      スロー:
      IllegalStateException - 容量制限のために、この時点で要素を追加できない場合
      ClassCastException - 指定された要素のクラスが原因で、この両端キューにその要素を追加できない場合
      NullPointerException - 指定された要素がnullで、この両端キューがnull要素を許可しない場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、この両端キューにその要素を追加できない場合
    • pop

      E pop()
      この両端キューで表されるスタックに要素をポップします。 つまり、この両端キューの最初の要素を削除して返します。

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

      戻り値:
      この両端キューの先頭の要素(この両端キューによって表されるスタックの上部)
      スロー:
      NoSuchElementException - この両端キューが空の場合
    • remove

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

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

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

      boolean contains(Object o)
      指定された要素がこの両端キューに含まれている場合にtrueを返します。 より正式には、このデキューにObjects.equals(o, e)などの要素eが少なくとも1つ含まれている場合にのみ、trueを返します。
      定義:
      contains、インタフェースCollection<E>
      パラメータ:
      o - この両端キューにあるかどうかを調べる要素
      戻り値:
      指定された要素がこの両端キューに含まれている場合はtrue
      スロー:
      ClassCastException - 指定された要素のクラスが、この両端キューと互換でない場合(オプション)
      NullPointerException - 指定された要素がnullで、この両端キューがnull要素を許可しない場合(オプション)
    • size

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

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

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

      default Deque<E> reversed()
      このコレクションの逆順viewを返します。 返されるビュー内の要素の出現順序は、このコレクション内の要素の出現順序の逆です。 逆の順序付けは、返されるビューのビュー・コレクションに含まれるすべての順序依存操作に影響します。 コレクション実装でこのビューの変更が許可されている場合、ベースとなるコレクションへの変更"ライトスルー"。 実装によっては、基礎となるコレクションに対する変更が、この逆方向ビューに表示される場合と表示されない場合があります。
      定義:
      インタフェースSequencedCollection<E>内のreversed
      実装要件:
      このインタフェースの実装では、逆順のDequeビューが返されます。 ビューのreversed()メソッドは、このDequeへの参照を返します。 ビューに対するその他の操作は、このDequeのpublicメソッドへのコールを介して実装されます。 ビューのコールとこのDequeのコールとの正確な関係は指定されていません。 ただし、順序依存操作は、通常、反対の方向で適切なメソッドに委任するかのように動作します。 たとえば、ビューでgetFirstをコールすると、このDequeでgetLastがコールされる場合があります。
      戻り値:
      このコレクションの逆順ビュー(Dequeとして)
      導入されたバージョン:
      21