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

クラスArrayList<E>

型パラメータ:
E - このリスト内に存在する要素の型
すべての実装されたインタフェース:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
直系の既知のサブクラス:
AttributeList, RoleList, RoleUnresolvedList

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable
Listインタフェースのサイズ変更可能な配列の実装です。 リストのオプションの操作をすべて実装し、nullを含むすべての要素を許容します。 このクラスは、Listインタフェースを実装するほか、リストを格納するために内部的に使われる配列のサイズを操作するメソッドを提供します。 (このクラスは、同期化されないことを除いてVectorとほぼ同等。)

sizeisEmptygetsetiterator、およびlistIteratorの処理は、一定の時間で実行されます。 addの処理も、償却定数時間で実行されます。つまり、n個の要素を追加するにはO(n)時間が必要です。 ほとんどの場合、ほかのすべての処理も比例的な時間で実行されます。 定数の係数は、LinkedListの実装の場合より小さくなります。

ArrayListのインスタンスには、容量があります。 容量とは、リストの要素を格納するために使用する配列のサイズです。 これは常にリストのサイズ以上の大きさになります。 ArrayListに要素を追加すると、その容量は自動的に拡大します。 拡大のポリシーについては、要素を追加すると「一定の償却時間コスト」が伴うこと以外は、詳しくは指定されていません。

アプリケーションでは、ensureCapacityを使ってArrayListのインスタンスの容量を拡大してから、多くの要素を追加できます。 これにより、増加に対する再割当てが軽減される場合があります。

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

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

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

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

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

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

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

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

    コンストラクタ
    コンストラクタ
    説明
    初期容量10で空のリストを作成します。
    ArrayList(int initialCapacity)
    指定された初期容量で空のリストを作成します。
    ArrayList(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
    このリストからすべての要素を削除します。
    このArrayListインスタンスのシャロー・コピーを返します。
    boolean
    指定された要素がこのリストに含まれている場合にtrueを返します。
    void
    ensureCapacity(int minCapacity)
    このArrayListインスタンスの容量を必要に応じて増やし、少なくとも最小容量引数で指定される要素数を保持できるようにします。
    boolean
    指定されたオブジェクトがこのリストと等しいかどうかを比較します。
    void
    forEach(Consumer<? super E> action)
    Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。
    get(int index)
    このリスト内の指定された位置にある要素を返します。
    int
    このリストのハッシュ・コード値を返します。
    int
    指定された要素がこのリスト内で最初に検出された位置のインデックスを返します。指定された要素がこのリストにない場合は -1を返します。
    boolean
    このリストに要素がない場合にtrueを返します。
    このリスト内の要素を適切な順序で反復するイテレータを返します。
    int
    指定された要素がこのリスト内で最後に検出された位置のインデックスを返します。指定された要素がこのリストにない場合は -1を返します。
    このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。
    listIterator(int index)
    リスト内の指定された位置で始まる、リスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。
    remove(int index)
    このリストの指定された位置にある要素を削除します。
    boolean
    指定された要素がこのリストにあれば、その最初のものをリストから削除します。
    boolean
    リストから、指定されたコレクション内に保持されているすべての要素を削除します。
    boolean
    removeIf(Predicate<? super E> filter)
    指定された述語を満たすこのコレクションの要素をすべて削除します。
    protected void
    removeRange(int fromIndex, int toIndex)
    fromIndex (これを含む)からtoIndex (これを含まない)の範囲のインデックスを持つすべての要素をこのリストから削除します。
    boolean
    指定されたコレクション内に保持されている、リスト内の要素だけを保持します。
    set(int index, E element)
    リストの指定された位置にある要素を、指定された要素で置き換えます。
    int
    このリスト内にある要素の数を返します。
    このリスト内の要素に対する遅延バインディングおよびフェイルファスト Spliteratorを作成します。
    subList(int fromIndex, int toIndex)
    このリストの、指定されたfromIndex (これを含む)からtoIndex (これを含まない)までの部分のビューを返します。
    このリスト内のすべての要素を適切な順序で(最初の要素から最後の要素へ)含んでいる配列を返します。
    <T> T[]
    toArray(T[] a)
    このリスト内のすべての要素を適切な順序で(最初の要素から最後の要素へ)含んでいる配列を返します。返される配列の実行時の型は、指定された配列の型になります。
    void
    このArrayListインスタンスの容量をリストの現在のサイズにまで減らします。

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

    equals, hashCode

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

    containsAll, toString

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

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

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

    parallelStream, stream, toArray

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

    containsAll, replaceAll, sort
  • コンストラクタの詳細

    • ArrayList

      public ArrayList(int initialCapacity)
      指定された初期容量で空のリストを作成します。
      パラメータ:
      initialCapacity - リストの初期容量
      例外:
      IllegalArgumentException - 指定された初期容量が負の場合
    • ArrayList

      public ArrayList()
      初期容量10で空のリストを作成します。
    • ArrayList

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

    • trimToSize

      public void trimToSize()
      このArrayListインスタンスの容量をリストの現在のサイズにまで減らします。 アプリケーションでは、このオペレーションを使用してArrayListのインスタンスのストレージを最小にすることができます。
    • ensureCapacity

      public void ensureCapacity(int minCapacity)
      このArrayListインスタンスの容量を必要に応じて増やし、少なくとも最小容量引数で指定される要素数を保持できるようにします。
      パラメータ:
      minCapacity - 目的の最小容量
    • size

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

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

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

      public Object clone()
      このArrayListインスタンスのシャロー・コピーを返します。 要素自体はコピーされません。
      オーバーライド:
      clone、クラス: Object
      戻り値:
      このArrayListのインスタンスの複製
      関連項目:
    • 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、インタフェース: Collection<E>
      定義:
      toArray、インタフェース: List<E>
      オーバーライド:
      toArray、クラス: AbstractCollection<E>
      型パラメータ:
      T - コレクションを格納する配列のコンポーネント型
      パラメータ:
      a - 配列が十分な大きさを持つ場合は、このリストの要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる。
      戻り値:
      リストの要素が格納されている配列
      例外:
      ArrayStoreException - 指定された配列の実行時の型が、このリスト内のすべての要素の実行時の型のスーパー・タイプではない場合
      NullPointerException - 指定された配列がnullである場合
    • get

      public E get(int index)
      このリスト内の指定された位置にある要素を返します。
      定義:
      get、インタフェース: List<E>
      定義:
      get、クラス: AbstractList<E>
      パラメータ:
      index - 返される要素のインデックス
      戻り値:
      このリスト内の指定された位置にある要素
      例外:
      IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0||index>= size())
    • set

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

      public boolean add(E e)
      リストの最後に、指定された要素を追加します。
      定義:
      add、インタフェース: Collection<E>
      定義:
      add、インタフェース: List<E>
      オーバーライド:
      add、クラス: AbstractList<E>
      パラメータ:
      e - このリストに追加される要素
      戻り値:
      true (Collection.add(E)で指定されているとおり)
    • add

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

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

      public boolean equals(Object o)
      指定されたオブジェクトがこのリストと等しいかどうかを比較します。 指定されたオブジェクトもリストであり、サイズが同じで、2つのリストの対応する要素がすべて等しい場合にだけtrueを返します。 (e1==null ? e2==null : e1.equals(e2))の場合、2つの要素e1e2等しくなります。 つまり2つのリストは、同じ要素が同じ順序で含まれている場合に等しいものとして定義されます。
      定義:
      equals、インタフェース: Collection<E>
      定義:
      equals、インタフェース: List<E>
      オーバーライド:
      equals、クラス: AbstractList<E>
      パラメータ:
      o - このリストと等しいかどうかを比較するオブジェクト
      戻り値:
      指定されたオブジェクトがこのリストと等しい場合はtrue
      関連項目:
    • hashCode

      public int hashCode()
      このリストのハッシュ・コード値を返します。
      定義:
      hashCode、インタフェース: Collection<E>
      定義:
      hashCode、インタフェース: List<E>
      オーバーライド:
      hashCode、クラス: AbstractList<E>
      戻り値:
      このリストのハッシュ・コード値
      関連項目:
    • remove

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

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

      public boolean addAll(Collection<? extends E> c)
      指定されたコレクション内のすべての要素を、指定されたコレクションのイテレータによって返される順序でリストの最後に追加します。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。 (つまり、指定されたコレクションがこのリスト自身であり、リストが空でない場合、この呼出しの動作は保証されません。)
      定義:
      addAll、インタフェース: Collection<E>
      定義:
      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、クラス: AbstractList<E>
      パラメータ:
      index - 指定されたコレクションの最初の要素を挿入する位置のインデックス。
      c - このリストに追加される要素を含むコレクション。
      戻り値:
      呼出しの結果としてこのリストが変更された場合はtrue
      例外:
      IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0||index> size())
      NullPointerException - 指定されたコレクションがnullである場合
    • removeRange

      protected void removeRange(int fromIndex, int toIndex)
      fromIndex (これを含む)からtoIndex (これを含まない)の範囲のインデックスを持つすべての要素をこのリストから削除します。 後続の要素は左に移動します(インデックス値が減少)。 この呼出しにより、(toIndex - fromIndex)の要素数だけリストが短くなります。 toIndex==fromIndexの場合、このオペレーションは何も行いません。
      オーバーライド:
      removeRange、クラス: AbstractList<E>
      パラメータ:
      fromIndex - 削除する最初の要素のインデックス
      toIndex - 削除する最後の要素の直後のインデックス
      例外:
      IndexOutOfBoundsException - fromIndexまたはtoIndexが範囲外の場合(fromIndex < 0 || toIndex > size() || toIndex < fromIndex)
    • removeAll

      public boolean removeAll(Collection<?> c)
      リストから、指定されたコレクション内に保持されているすべての要素を削除します。
      定義:
      removeAll、インタフェース: Collection<E>
      定義:
      removeAll、インタフェース: List<E>
      オーバーライド:
      removeAll、クラス: AbstractCollection<E>
      パラメータ:
      c - このリストから削除される要素を含むコレクション
      戻り値:
      呼出しの結果としてこのリストが変更された場合はtrue
      例外:
      ClassCastException - このリストのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)
      NullPointerException - このリストにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合
      関連項目:
    • retainAll

      public boolean retainAll(Collection<?> c)
      指定されたコレクション内に保持されている、リスト内の要素だけを保持します。 つまり、指定されたコレクションに含まれていないすべての要素をこのリストから削除します。
      定義:
      retainAll、インタフェース: Collection<E>
      定義:
      retainAll、インタフェース: List<E>
      オーバーライド:
      retainAll、クラス: AbstractCollection<E>
      パラメータ:
      c - このリストで保持される要素を含むコレクション
      戻り値:
      呼出しの結果としてこのリストが変更された場合はtrue
      例外:
      ClassCastException - このリストのある要素のクラスが、指定されたコレクションと互換でない場合(オプション)
      NullPointerException - このリストにnull要素が含まれており、指定されたコレクションがnull要素を許可しない場合(オプション)、または指定されたコレクションがnullの場合
      関連項目:
    • listIterator

      public ListIterator<E> listIterator(int index)
      リスト内の指定された位置で始まる、リスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。 指定されたインデックスは、nextの最初の呼出しによって返される最初の要素を示します。 previousの最初の呼出しは、指定されたインデックスから1を引いたインデックスを持つ要素を返します。

      返されるリスト・イテレータは、フェイルファストです。

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

      public ListIterator<E> listIterator()
      このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。

      返されるリスト・イテレータは、フェイルファストです。

      定義:
      listIterator、インタフェース: List<E>
      オーバーライド:
      listIterator、クラス: AbstractList<E>
      戻り値:
      このリスト内の要素を(適切な順序で)反復するリスト・イテレータ
      関連項目:
    • iterator

      public Iterator<E> iterator()
      このリスト内の要素を適切な順序で反復するイテレータを返します。

      返されるイテレータは、フェイルファストです。

      定義:
      iterator、インタフェース: Collection<E>
      定義:
      iterator、インタフェース: Iterable<E>
      定義:
      iterator、インタフェース: List<E>
      オーバーライド:
      iterator、クラス: AbstractList<E>
      戻り値:
      リスト内の要素を適切な順序で反復するイテレータ
    • subList

      public List<E> subList(int fromIndex, int toIndex)
      このリストの、指定されたfromIndex (これを含む)からtoIndex (これを含まない)までの部分のビューを返します。 fromIndextoIndexが等しい場合は、空のリストが返されます。 返されるリストはこのリストに連動しているため、返されるリスト内での非構造的な変更はこのリストに反映され、このリスト内での変更は返されるリストに反映されます。 返されるリストは、リストに関連するオプションのオペレーションをすべてサポートします。

      このメソッドでは、配列に一般的に見られるような、明示的な範囲操作は必要ありません。 リストを予期する操作は、リスト全体ではなくsubListビューを渡すことで範囲操作として使用できます。 たとえば、次のイディオムは、ある範囲の要素をリストから削除します。

            list.subList(from, to).clear();
       
      indexOf(Object)およびlastIndexOf(Object)でも、同様の慣用法を作成できます。CollectionsクラスのアルゴリズムがすべてsubListに適用できます。

      バッキング・リスト(すなわち、このリスト)の構造が、返されたリストを経由せずに変更された場合、このメソッドで返されるリストのセマンティックスは定義されていません。 構造の変更とは、リストのサイズが変わるような変更や、進行中のイテレーションが不正な結果に終わるような変更のことです。

      定義:
      subList、インタフェース: List<E>
      オーバーライド:
      subList、クラス: AbstractList<E>
      パラメータ:
      fromIndex - subListの下端点(これを含む)
      toIndex - subListの上端点(これを含まない)
      戻り値:
      このリスト内の指定された範囲のビュー
      例外:
      IndexOutOfBoundsException - 端点のインデックス値が範囲外の場合(fromIndex < 0||toIndex> size)
      IllegalArgumentException - 端点のインデックスの順番が正しくない場合(fromIndex> toIndex)
    • forEach

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

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

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

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

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

      定義:
      spliterator、インタフェース: Collection<E>
      定義:
      spliterator、インタフェース: Iterable<E>
      定義:
      spliterator、インタフェース: List<E>
      戻り値:
      このリスト内の要素に対するSpliterator
      導入されたバージョン:
      1.8
    • removeIf

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