クラスLinkedList<E>

型パラメータ:
E - このコレクションに保持されている要 のタイプ
すべての実装されたインタフェース:
Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>, SequencedCollection<E>

public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable
ListおよびDequeインタフェースの二重リンク・リスト実装です。 リストの任意のオペレーションをすべて実装し、nullを含むすべての要 を許容します。

すべてのオペレーションは、二重リンク・リストの 合に予期されるとおりの動作をします。 リストをインデックスで処理するオペレーションは、リストの先端または終端のうち、指定したインデックスに近い方からリストをトラバースします。

この実装はsynchronizedされません。 複数のスレッドが並行してリンク・リストにアクセスし、スレッドの少なくとも1つが構 的にリストを変更する 合には、外部でsynchronizedされる必要があります (構 的な変更とは1つ以上の要 を追 または削除するすべての処理です。要 の値を変更する けの処理は、構 的な変更ではありません。) これは通常、リストを自然にカプセル化する一部のオブジェクトでsynchronizedすることによって達成されます。 そのようなオブジェクトが存在しない 合は、Collections.synchronizedListメソッドを使用してリストを「ラップ」するようにしてく さい。 リストが誤ってsynchronizedなしでアクセスされるのを防ぐために、作成時に行うことをお薦めします。

   List list = Collections.synchronizedList(new LinkedList(...));

このクラスのiteratorおよびlistIteratorメソッドによって返されるイテレータは、フェイルファストです。イテレータの作成後に、イテレータ自体のremoveまたはaddメソッド以外の方法でリストが構 的に変更されると、イテレータはConcurrentModificationExceptionをスローします。 このように、並行して変更が行われると、イテレータは、将来の予測できない時点において予測できない動作が発生する危険を回避するために、た ちにかつ手際よく例外をスローします。

通常、非同期の並行変更がある 合、確かな保証を行うことは不可能なので、イテレータのフェイルファストの動作を保証することはできません。 フェイルファスト・イテレータは、ベスト・エフォート・ベースでConcurrentModificationExceptionをスローします。 したがって、正確を期すためにこの例外に依存するプログラ を書くことは誤りです。イテレータのフェイルファストの動作はバグを検出するためにのみ使用すべきです。

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

導入されたバージョン:
1.2
関連 目:
  • フィールドのサマリー

    クラスjava.util.AbstractListで宣言されたフィールド

    modCount
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    空のリストを構築します。
    LinkedList(Collection<? extends E> c)
    指定されたコレクションの要 が含まれているリストを、コレクションのイテレータによって返される 序で構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    add(int index, E element)
    リスト内の指定された位置に指定された要 を挿入します。
    boolean
    add(E e)
    リストの最後に、指定された要 を追 します。
    boolean
    addAll(int index, Collection<? extends E> c)
    指定されたコレクション内のすべての要 を、リストの指定された位置に挿入します。
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクション内のすべての要 を、指定されたコレクションのイテレータによって返される 序でこのリストの最後に追 します。
    void
    このリストの先 に、指定された要 を挿入します。
    void
    リストの最後に、指定された要 を追 します。
    void
    このリストからすべての要 を削除します。
    このLinkedListのシャロー・コピーを返します。
    boolean
    指定された要 がこのリストに含まれている 合にtrueを返します。
    この両端キュー内の要 を逆 で反復処理するイテレータを返します。
    このリストの先 (最初の要 )を取得しますが、削除はしません。
    get(int index)
    このリスト内の指定された位置にある要 を返します。
    このリスト内の最初の要 を返します。
    このリスト内の最後の要 を返します。
    int
    指定された要 がこのリスト内で最初に検出された位置のインデックスを返します。指定された要 がこのリストにない 合は -1を返します。
    int
    指定された要 がこのリスト内で最後に検出された位置のインデックスを返します。指定された要 がこのリストにない 合は -1を返します。
    listIterator(int index)
    このリスト内の要 を適切な 序で反復するリスト・イテレータ(リスト内の指定された位置で始まる)を返します。
    boolean
    offer(E e)
    指定された要 をこのリストの末尾(最後の要 )に追 します。
    boolean
    このリストの先 に、指定された要 を挿入します。
    boolean
    このリストの末尾に、指定された要 を挿入します。
    このリストの先 (最初の要 )を取得しますが、削除はしません。
    このリストの最初の要 を取得しますが、削除はしません。このリストが空の 合はnullを返します。
    このリストの最後の要 を取得しますが、削除はしません。このリストが空の 合はnullを返します。
    このリストの先 (最初の要 )を取得し、削除します。
    このリストの最初の要 を取得および削除します。このリストが空の 合はnullを返します。
    リストの最後の要 を取得および削除します。このリストが空の 合はnullを返します。
    pop()
    このリストが表すスタックから要 をポップします。
    void
    push(E e)
    このリストが表すスタック上に要 をプッシュします。
    このリストの先 (最初の要 )を取得し、削除します。
    remove(int index)
    このリストの指定された位置にある要 を削除します。
    boolean
    指定された要 がこのリストにあれば、その最初のものをリストから削除します。
    このリストから最初の要 を削除して返します。
    boolean
    このリスト内で最初に検出された、指定された要 を削除します(リストを先 から末尾の方向にトラバースした 合)。
    このリストから最後の要 を削除して返します。
    boolean
    このリスト内で最後に検出された、指定された要 を削除します(リストを先 から末尾の方向にトラバースした 合)。
    このコレクションの逆 viewを返します。
    set(int index, E element)
    リストの指定された位置にある要 を、指定された要 で置き換えます。
    int
    このリスト内にある要 の数を返します。
    このリスト内の要 に対する遅延バインディングおよびフェイルファスト Spliteratorを作成します。
    このリスト内のすべての要 を適切な 序で(最初の要 から最後の要 へ)含んでいる配列を返します。
    <T> T[]
    toArray(T[] a)
    このリスト内のすべての要 を適切な 序で(最初の要 から最後の要 へ)含んでいる配列を返します。返される配列の実行時の型は、指定された配列の型になります。

    クラスjava.util.AbstractSequentialListで宣言されたメソッド

    iterator

    クラスjava.util.AbstractListで宣言されたメソッド

    equals, hashCode, listIterator, removeRange, subList

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

    containsAll, isEmpty, removeAll, retainAll, toString

    クラスjava.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, wait, wait, wait

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

    parallelStream, removeIf, stream, toArray

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

    iterator

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

    forEach

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

    containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList
  • コンストラクタの詳細

    • LinkedList

      public LinkedList()
      空のリストを構築します。
    • LinkedList

      public LinkedList(Collection<? extends E> c)
      指定されたコレクションの要 が含まれているリストを、コレクションのイテレータによって返される 序で構築します。
      パラメータ:
      c - 要 がこのリストに配置されるコレクション
      スロー:
      NullPointerException - 指定されたコレクションがnullである 合
  • メソッドの詳細

    • getFirst

      public E getFirst()
      このリスト内の最初の要 を返します。
      定義:
      getFirst、インタフェースDeque<E>
      定義:
      インタフェースList<E>内のgetFirst
      定義:
      インタフェースSequencedCollection<E>内のgetFirst
      戻り値:
      このリスト内の最初の要 
      スロー:
      NoSuchElementException - このリストが空の 合
    • getLast

      public E getLast()
      このリスト内の最後の要 を返します。
      定義:
      getLast、インタフェースDeque<E>
      定義:
      インタフェースList<E>内のgetLast
      定義:
      インタフェースSequencedCollection<E>内のgetLast
      戻り値:
      このリスト内の最後の要 
      スロー:
      NoSuchElementException - このリストが空の 合
    • removeFirst

      public E removeFirst()
      このリストから最初の要 を削除して返します。
      定義:
      removeFirst、インタフェースDeque<E>
      定義:
      インタフェースList<E>内のremoveFirst
      定義:
      インタフェースSequencedCollection<E>内のremoveFirst
      戻り値:
      このリストからの最初の要 
      スロー:
      NoSuchElementException - このリストが空の 合
    • removeLast

      public E removeLast()
      このリストから最後の要 を削除して返します。
      定義:
      removeLast、インタフェースDeque<E>
      定義:
      インタフェースList<E>内のremoveLast
      定義:
      インタフェースSequencedCollection<E>内のremoveLast
      戻り値:
      このリストからの最後の要 
      スロー:
      NoSuchElementException - このリストが空の 合
    • addFirst

      public void addFirst(E e)
      このリストの先 に、指定された要 を挿入します。
      定義:
      addFirst、インタフェースDeque<E>
      定義:
      インタフェースList<E>内のaddFirst
      定義:
      インタフェースSequencedCollection<E>内のaddFirst
      パラメータ:
      e - 追 する要 
    • addLast

      public void addLast(E e)
      リストの最後に、指定された要 を追 します。

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

      定義:
      addLast、インタフェースDeque<E>
      定義:
      インタフェースList<E>内のaddLast
      定義:
      インタフェースSequencedCollection<E>内のaddLast
      パラメータ:
      e - 追 する要 
    • contains

      public boolean contains(Object o)
      指定された要 がこのリストに含まれている 合にtrueを返します。 より正式には、このリストにObjects.equals(o, e)などの要 eが少なくとも1つ含まれている 合のみ、trueを返します。
      定義:
      contains、インタフェースCollection<E>
      定義:
      contains、インタフェースDeque<E>
      定義:
      contains、インタフェースList<E>
      オーバーライド:
      contains、クラスAbstractCollection<E>
      パラメータ:
      o - このリスト内にあるかどうかが判定される要 
      戻り値:
      指定された要 がこのリスト内にある 合はtrue
    • size

      public int size()
      このリスト内にある要 の数を返します。
      定義:
      size、インタフェースCollection<E>
      定義:
      size、インタフェースDeque<E>
      定義:
      size、インタフェースList<E>
      戻り値:
      このリスト内の要 数
    • add

      public boolean add(E e)
      リストの最後に、指定された要 を追 します。

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

      定義:
      add、インタフェースCollection<E>
      定義:
      add、インタフェースDeque<E>
      定義:
      add、インタフェースList<E>
      定義:
      add、インタフェースQueue<E>
      オーバーライド:
      add、クラスAbstractList<E>
      パラメータ:
      e - このリストに追 される要 
      戻り値:
      true (Collection.add(E)で指定されているとおり)
    • remove

      public boolean remove(Object o)
      指定された要 がこのリストにあれば、その最初のものをリストから削除します。 このリストにその要 がない 合は、変更されません。 より正式には、Objects.equals(o, get(i)) (そのような要 が存在する 合)のように、最も低い索引iを持つ要 を削除します。 指定された要 がこのリストに含まれていた 合、つまり、呼出しの結果としてこのリストが変更された 合にtrueを返します。
      定義:
      remove、インタフェースCollection<E>
      定義:
      remove、インタフェースDeque<E>
      定義:
      remove、インタフェースList<E>
      オーバーライド:
      remove、クラスAbstractCollection<E>
      パラメータ:
      o - このリストから削除される要 (その要 が存在する 合)
      戻り値:
      指定された要 がこのリストに含まれていた 合はtrue
    • addAll

      public boolean addAll(Collection<? extends E> c)
      指定されたコレクション内のすべての要 を、指定されたコレクションのイテレータによって返される 序でこのリストの最後に追 します。 オペレーションの進行中に、指定されたコレクションが変更された 合の、このオペレーションの動作は定義されていません。 (これは、指定されたコレクションがこのリストで、しかも空ではない 合に起こります。)
      定義:
      addAll、インタフェースCollection<E>
      定義:
      インタフェースDeque<E>内のaddAll
      定義:
      addAll、インタフェースList<E>
      オーバーライド:
      addAll、クラスAbstractCollection<E>
      パラメータ:
      c - このリストに追 される要 を含むコレクション。
      戻り値:
      呼出しの結果としてこのリストが変更された 合はtrue
      スロー:
      NullPointerException - 指定されたコレクションがnullである 合
      関連 目:
    • addAll

      public boolean addAll(int index, Collection<? extends E> c)
      指定されたコレクション内のすべての要 を、リストの指定された位置に挿入します。 その位置とそれ以降に要 がある 合は、それらを右に移動して、各要 のインデックスに1を えます。 新しい要 は、指定されたコレクションのイテレータによって返される 番でリストに挿入されます。
      定義:
      addAll、インタフェースList<E>
      オーバーライド:
      addAll、クラスAbstractSequentialList<E>
      パラメータ:
      index - 指定されたコレクションの最初の要 を挿入する位置のインデックス。
      c - このリストに追 される要 を含むコレクション。
      戻り値:
      呼出しの結果としてこのリストが変更された 合はtrue
      スロー:
      IndexOutOfBoundsException - インデックスが範囲外の 合(index < 0||index> size())
      NullPointerException - 指定されたコレクションがnullである 合
    • clear

      public void clear()
      このリストからすべての要 を削除します。 この呼出しが戻ると、このリストは空になります。
      定義:
      clear、インタフェースCollection<E>
      定義:
      clear、インタフェースList<E>
      オーバーライド:
      clear、クラスAbstractList<E>
    • get

      public E get(int index)
      このリスト内の指定された位置にある要 を返します。
      定義:
      get、インタフェースList<E>
      オーバーライド:
      get、クラスAbstractSequentialList<E>
      パラメータ:
      index - 返される要 のインデックス
      戻り値:
      このリスト内の指定された位置にある要 
      スロー:
      IndexOutOfBoundsException - 索引が(index < 0 || index >= size())の範囲外であるかどうか
    • set

      public E set(int index, E element)
      リストの指定された位置にある要 を、指定された要 で置き換えます。
      定義:
      set、インタフェースList<E>
      オーバーライド:
      set、クラスAbstractSequentialList<E>
      パラメータ:
      index - 置換される要 のインデックス。
      element - 指定された位置に 納される要 。
      戻り値:
      指定された位置に以前あった要 。
      スロー:
      IndexOutOfBoundsException - 索引が(index < 0 || index >= size())の範囲外であるかどうか
    • add

      public void add(int index, E element)
      リスト内の指定された位置に指定された要 を挿入します。 その位置とそれ以降に要 があればそれらを右に移動させ、各要 のインデックスに1を えます。
      定義:
      add、インタフェースList<E>
      オーバーライド:
      add、クラスAbstractSequentialList<E>
      パラメータ:
      index - 指定の要 が挿入される位置のインデックス
      element - 挿入される要 
      スロー:
      IndexOutOfBoundsException - インデックスが範囲外の 合(index < 0||index> size())
    • remove

      public E remove(int index)
      このリストの指定された位置にある要 を削除します。 後続の要 を左に移動します(インデックスから1を減算)。 リストから削除された要 が返されます。
      定義:
      remove、インタフェースList<E>
      オーバーライド:
      remove、クラスAbstractSequentialList<E>
      パラメータ:
      index - 削除される要 のインデックス
      戻り値:
      指定された位置に以前あった要 。
      スロー:
      IndexOutOfBoundsException - 索引が(index < 0 || index >= size())の範囲外であるかどうか
    • indexOf

      public int indexOf(Object o)
      指定された要 がこのリスト内で最初に検出された位置のインデックスを返します。指定された要 がこのリストにない 合は -1を返します。 より正式には、Objects.equals(o, get(i))のように最も低い索引iを戻し、そのような索引がない 合は -1を戻します。
      定義:
      indexOf、インタフェースList<E>
      オーバーライド:
      indexOf、クラスAbstractList<E>
      パラメータ:
      o - 検索する要 
      戻り値:
      指定された要 がこのリスト内で最初に検出された位置のインデックス。その要 がこのリストにない 合は -1
    • lastIndexOf

      public int lastIndexOf(Object o)
      指定された要 がこのリスト内で最後に検出された位置のインデックスを返します。指定された要 がこのリストにない 合は -1を返します。 より正式には、Objects.equals(o, get(i))のように最も高い索引iを戻し、そのような索引がない 合は -1を戻します。
      定義:
      lastIndexOf、インタフェースList<E>
      オーバーライド:
      lastIndexOf、クラスAbstractList<E>
      パラメータ:
      o - 検索する要 
      戻り値:
      指定された要 がこのリスト内で最後に検出された位置のインデックス。その要 がこのリストにない 合は -1
    • peek

      public E peek()
      このリストの先 (最初の要 )を取得しますが、削除はしません。
      定義:
      peek、インタフェースDeque<E>
      定義:
      peek、インタフェースQueue<E>
      戻り値:
      このリストの先 。このリストが空の 合はnull
      導入されたバージョン:
      1.5
    • element

      public E element()
      このリストの先 (最初の要 )を取得しますが、削除はしません。
      定義:
      element、インタフェースDeque<E>
      定義:
      element、インタフェースQueue<E>
      戻り値:
      このリストの先 
      スロー:
      NoSuchElementException - このリストが空の 合
      導入されたバージョン:
      1.5
    • poll

      public E poll()
      このリストの先 (最初の要 )を取得し、削除します。
      定義:
      poll、インタフェースDeque<E>
      定義:
      poll、インタフェースQueue<E>
      戻り値:
      このリストの先 。このリストが空の 合はnull
      導入されたバージョン:
      1.5
    • remove

      public E remove()
      このリストの先 (最初の要 )を取得し、削除します。
      定義:
      remove、インタフェースDeque<E>
      定義:
      remove、インタフェースQueue<E>
      戻り値:
      このリストの先 
      スロー:
      NoSuchElementException - このリストが空の 合
      導入されたバージョン:
      1.5
    • offer

      public boolean offer(E e)
      指定された要 をこのリストの末尾(最後の要 )に追 します。
      定義:
      offer、インタフェースDeque<E>
      定義:
      offer、インタフェースQueue<E>
      パラメータ:
      e - 追 する要 
      戻り値:
      true (Queue.offer(E)で指定されているとおり)
      導入されたバージョン:
      1.5
    • offerFirst

      public boolean offerFirst(E e)
      このリストの先 に、指定された要 を挿入します。
      定義:
      offerFirst、インタフェースDeque<E>
      パラメータ:
      e - 挿入する要 
      戻り値:
      true (Deque.offerFirst(E)で指定されているとおり)
      導入されたバージョン:
      1.6
    • offerLast

      public boolean offerLast(E e)
      このリストの末尾に、指定された要 を挿入します。
      定義:
      offerLast、インタフェースDeque<E>
      パラメータ:
      e - 挿入する要 
      戻り値:
      true (Deque.offerLast(E)で指定されているとおり)
      導入されたバージョン:
      1.6
    • peekFirst

      public E peekFirst()
      このリストの最初の要 を取得しますが、削除はしません。このリストが空の 合はnullを返します。
      定義:
      peekFirst、インタフェースDeque<E>
      戻り値:
      このリストの最初の要 。このリストが空の 合はnull
      導入されたバージョン:
      1.6
    • peekLast

      public E peekLast()
      このリストの最後の要 を取得しますが、削除はしません。このリストが空の 合はnullを返します。
      定義:
      peekLast、インタフェースDeque<E>
      戻り値:
      このリストの最後の要 。このリストが空の 合はnull
      導入されたバージョン:
      1.6
    • pollFirst

      public E pollFirst()
      このリストの最初の要 を取得および削除します。このリストが空の 合はnullを返します。
      定義:
      pollFirst、インタフェースDeque<E>
      戻り値:
      このリストの最初の要 。このリストが空の 合はnull
      導入されたバージョン:
      1.6
    • pollLast

      public E pollLast()
      リストの最後の要 を取得および削除します。このリストが空の 合はnullを返します。
      定義:
      pollLast、インタフェースDeque<E>
      戻り値:
      このリストの最後の要 。このリストが空の 合はnull
      導入されたバージョン:
      1.6
    • push

      public void push(E e)
      このリストが表すスタック上に要 をプッシュします。 つまり、このリストの先 に要 を挿入します。

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

      定義:
      push、インタフェースDeque<E>
      パラメータ:
      e - プッシュする要 
      導入されたバージョン:
      1.6
    • pop

      public E pop()
      このリストが表すスタックから要 をポップします。 つまり、このリストの最初の要 を削除して返します。

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

      定義:
      pop、インタフェースDeque<E>
      戻り値:
      このリストの先 の要 (このリストが表すスタックの一番上)
      スロー:
      NoSuchElementException - このリストが空の 合
      導入されたバージョン:
      1.6
    • removeFirstOccurrence

      public boolean removeFirstOccurrence(Object o)
      このリスト内で最初に検出された、指定された要 を削除します(リストを先 から末尾の方向にトラバースした 合)。 その要 がリストにない 合、変更はありません。
      定義:
      removeFirstOccurrence、インタフェースDeque<E>
      パラメータ:
      o - このリストから削除される要 (その要 が存在する 合)
      戻り値:
      指定された要 がリストに含まれていた 合はtrue
      導入されたバージョン:
      1.6
    • removeLastOccurrence

      public boolean removeLastOccurrence(Object o)
      このリスト内で最後に検出された、指定された要 を削除します(リストを先 から末尾の方向にトラバースした 合)。 その要 がリストにない 合、変更はありません。
      定義:
      removeLastOccurrence、インタフェースDeque<E>
      パラメータ:
      o - このリストから削除される要 (その要 が存在する 合)
      戻り値:
      指定された要 がリストに含まれていた 合はtrue
      導入されたバージョン:
      1.6
    • listIterator

      public ListIterator<E> listIterator(int index)
      このリスト内の要 を適切な 序で反復するリスト・イテレータ(リスト内の指定された位置で始まる)を返します。 List.listIterator(int)の一般規約に従います。

      リスト・イテレータはフェイルファストです。イテレータの作成後に、リスト・イテレータ自体のremoveまたはaddメソッド以外の方法でリストが構 的に変更されると、リスト・イテレータはConcurrentModificationExceptionをスローします。 このように、並行して変更が行われると、イテレータは、将来の予測できない時点において予測できない動作が発生する危険を回避するために、た ちにかつ手際よく例外をスローします。

      定義:
      listIterator、インタフェースList<E>
      定義:
      listIterator、クラスAbstractSequentialList<E>
      パラメータ:
      index - リスト・イテレータから(next呼出しによって)返される最初の要 のインデックス
      戻り値:
      このリスト内の要 を適切な 序で反復するListIterator (リスト内の指定された位置で始まる)
      スロー:
      IndexOutOfBoundsException - インデックスが範囲外の 合(index < 0||index> size())
      関連 目:
    • descendingIterator

      public Iterator<E> descendingIterator()
      インタフェースからコピーされた説明: Deque
      この両端キュー内の要 を逆 で反復処理するイテレータを返します。 要 は最後(末尾)から最初(先 )の に返されます。
      定義:
      descendingIterator、インタフェースDeque<E>
      戻り値:
      この両端キュー内の要 を逆 で反復処理するイテレータ
      導入されたバージョン:
      1.6
    • clone

      public Object clone()
      このLinkedListのシャロー・コピーを返します。 (要 自体は複製されません。)
      オーバーライド:
      clone、クラスObject
      戻り値:
      このLinkedListインスタンスのシャロー・コピー
      関連 目:
    • toArray

      public Object[] toArray()
      このリスト内のすべての要 を適切な 序で(最初の要 から最後の要 へ)含んでいる配列を返します。

      返される配列は、それへの参照がこのリストで保持されない 合に、安全になります。 (つまり、このメソッドは新しい配列を割り当てます)。 このため、呼出し側は、返された配列を自由に変更できます。

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

      定義:
      toArray、インタフェースCollection<E>
      定義:
      toArray、インタフェースList<E>
      オーバーライド:
      toArray、クラスAbstractCollection<E>
      戻り値:
      このリスト内のすべての要 を適切な 序で含んでいる配列
      関連 目:
    • toArray

      public <T> T[] toArray(T[] a)
      このリスト内のすべての要 を適切な 序で(最初の要 から最後の要 へ)含んでいる配列を返します。返される配列の実行時の型は、指定された配列の型になります。 指定された配列にリストが収まる 合は、その配列で返されます。 それ以外の 合は、指定された配列の実行時の型とこのリストのサイズを使って新しい配列が割り当てられます。

      指定された配列にリストが収まり、さらに余分な 域がある 合(配列にリストより多くの要 がある 合)、配列でリストの末尾に続く要 はnullに設定されます。 (このリストにnull要 がないことを呼出し側が知っている 合にのみ、この特性を利用してリストの長さを判断できます。)

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

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

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

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

      public Spliterator<E> spliterator()
      このリスト内の要 に対する遅延バインディングおよびフェイルファスト Spliteratorを作成します。

      Spliteratorは、Spliterator.SIZEDおよびSpliterator.ORDEREDを 告します。 オーバーライドする実装は、追 の特性値の 告をドキュメント化する必要があります。

      定義:
      spliterator、インタフェースCollection<E>
      定義:
      spliterator、インタフェースIterable<E>
      定義:
      spliterator、インタフェースList<E>
      実装上のノート:
      Spliteratorは、追 でSpliterator.SUBSIZEDを 告し、制限付き並列性を許可するためにtrySplitを実装します。
      戻り値:
      このリスト内の要 に対するSpliterator
      導入されたバージョン:
      1.8
    • reversed

      public LinkedList<E> reversed()
      このコレクションの逆 viewを返します。 返されるビュー内の要 の出現 序は、このコレクション内の要 の出現 序の逆です。 逆の 序付けは、返されるビューのビュー・コレクションに含まれるすべての 序依存操作に影響します。 コレクション実装でこのビューの変更が許可されている 合、ベースとなるコレクションへの変更"ライトスルー"。 実装によっては、基礎となるコレクションに対する変更が、この逆方向ビューに表示される 合と表示されない 合があります。

      戻し処理されたビューへの変更は許可され、このリストに伝播されます。 また、このリストへの変更は、逆方向ビューに表示されます。

      定義:
      インタフェースDeque<E>内のreversed
      定義:
      インタフェースList<E>内のreversed
      定義:
      インタフェースSequencedCollection<E>内のreversed
      戻り値:
      このコレクションの逆 ビュー(Listとして)
      導入されたバージョン:
      21