クラスAbstractSequentialList<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
型パラメータ:
E - このリストの要素のタイプ
すべての実装されたインタフェース:
Iterable<E>, Collection<E>, List<E>, SequencedCollection<E>
直系の既知のサブクラス:
LinkedList

public abstract class AbstractSequentialList<E> extends AbstractList<E>
このクラスは、"順次アクセス"データ・ストア(リンクされたリストなど)に支えられたこのインタフェースの実装に必要な作業を最小限に抑えるために、Listインタフェースのスケルトン実装を提供します。 ランダム・アクセス・データ(配列など)の場合、このクラスよりもAbstractListを使用する必要があります。

このクラスは、リストのリスト・イテレータの上部に"ランダム・アクセス"メソッド(get(int index), set(int index, E element), add(int index, E element)およびremove(int index))を実装するという意味でAbstractListクラスの反対です。

リストを実装するには、プログラマは、このクラスを拡張して、listIteratorおよびsizeメソッドの実装を提供するだけで済みます。 変更不可能なリストの場合、プログラマはリスト・イテレータのhasNext, next, hasPrevious, previousおよびindexメソッドのみを実装する必要があります。

変更可能なリストの場合、プログラマは、リスト・イテレータのsetメソッドをさらに実装する必要があります。 可変サイズ・リストの場合、プログラマは、リスト・イテレータのremoveおよびaddメソッドをさらに実装する必要があります。

プログラマは、通常、Collectionインタフェース仕様の推奨事項に従って、void (引数なし)およびcollectionコンストラクタを指定する必要があります。

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

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

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

    modCount
    修飾子と型
    フィールド
    説明
    protected int
    このリストの構造が変更された回数です。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    唯一のコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    add(int index, E element)
    このリスト内の指定された位置に、指定された要素を挿入します(オプションの操作)。
    boolean
    addAll(int index, Collection<? extends E> c)
    指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します(オプションの操作)。
    get(int index)
    このリスト内の指定された位置にある要素を返します。
    このリスト内の要素を(適切な順序で)反復処理するイテレータを返します。
    abstract ListIterator<E>
    listIterator(int index)
    このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。
    remove(int index)
    このリスト内の指定された位置にある要素を削除します(オプションの操作)。
    set(int index, E element)
    このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。

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

    add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList
    修飾子と型
    メソッド
    説明
    boolean
    add(E e)
    指定された要素をこのリストの最後に追加します(オプションの操作)。
    void
    すべての要素をこのリストから削除します(オプションの操作)。
    boolean
    指定されたオブジェクトがこのリストと等しいかどうかを比較します。
    int
    このリストのハッシュ・コード値を返します。
    int
    指定された要素がこのリスト内で最初に検出された位置のインデックスを返します。指定された要素がこのリストにない場合は -1を返します。
    int
    指定された要素がこのリスト内で最後に検出された位置のインデックスを返します。指定された要素がこのリストにない場合は -1を返します。
    このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。
    protected void
    removeRange(int fromIndex, int toIndex)
    fromIndex (これを含む)からtoIndex (これを含まない)の範囲のインデックスを持つすべての要素をこのリストから削除します。
    subList(int fromIndex, int toIndex)
    このリストの、指定されたfromIndex (これを含む)からtoIndex (これを含まない)までの部分のビューを返します。

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

    addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
    修飾子と型
    メソッド
    説明
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクションのすべての要素をこのコレクションに追加します(オプションの操作)。
    boolean
    このコレクションに指定した要素が含まれている場合は、trueを返します。
    boolean
    指定したコレクションのすべての要素がこのコレクションに含まれている場合、trueを返します。
    boolean
    このコレクションに要素がない場合にtrueを返します。
    boolean
    指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから1つ削除します(オプションの操作)。
    boolean
    指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。
    boolean
    このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。
    このコレクションの要素がすべて格納されている配列を返します。
    <T> T[]
    toArray(T[] a)
    このコレクション内のすべての要素を保持する配列を返します。返される配列の実行時の型は、指定された配列の型です。
    このコレクションの文字列表現を返します。

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

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    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で宣言されたメソッド

    parallelStream, removeIf, stream, toArray
    修飾子と型
    メソッド
    説明
    default Stream<E>
    このコレクションをソースとして、潜在的に並列のStreamを返します。
    default boolean
    removeIf(Predicate<? super E> filter)
    指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。
    default Stream<E>
    このコレクションをソースとして使用して、逐次的なStreamを返します。
    default <T> T[]
    toArray(IntFunction<T[]> generator)
    指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。

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

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

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

    addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, size, sort, spliterator, toArray, toArray
    修飾子と型
    メソッド
    説明
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクション内のすべての要素を、指定されたコレクションのイテレータによって返される順序で、このリストの最後に追加します(オプションの操作)。
    default void
    このコレクションの最初の要素として要素を追加します (オプションの操作)。
    default void
    このコレクションの最後の要素として要素を追加します (オプションの操作)。
    boolean
    指定された要素がこのリストに含まれている場合にtrueを返します。
    boolean
    指定されたコレクションのすべての要素がこのリストに含まれている場合にtrueを返します。
    default E
    このコレクションの最初の要素を取得します。
    default E
    このコレクションの最後の要素を取得します。
    boolean
    このリストに要素がない場合にtrueを返します。
    boolean
    指定された要素がこのリストにあれば、その最初のものをリストから削除します(オプションの操作)。
    boolean
    このリストから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。
    default E
    このコレクションの最初の要素を削除して返します(オプションの操作)。
    default E
    このコレクションの最後の要素を削除して返します(オプションの操作)。
    default void
    このリストの各要素を、その要素(オプションの操作)に演算子を適用した結果に置き換えます。
    boolean
    このリスト内で、指定されたコレクションに含まれている要素だけを保持します(オプションの操作)。
    default List<E>
    このコレクションの逆順viewを返します。
    int
    このリスト内にある要素の数を返します。
    default void
    sort(Comparator<? super E> c)
    このリストは、指定されたComparator (オプションの操作)によって誘導された順序に従ってソートされます。
    default Spliterator<E>
    このリスト内の要素に対するSpliteratorを作成します。
    このリスト内のすべての要素を適切な順序で(最初の要素から最後の要素へ)含んでいる配列を返します。
    <T> T[]
    toArray(T[] a)
    このリスト内のすべての要素を適切な順序で(最初の要素から最後の要素へ)含んでいる配列を返します。返される配列の実行時の型は、指定された配列の型になります。
  • コンストラクタの詳細

    • AbstractSequentialList

      protected AbstractSequentialList()
      唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
  • メソッドの詳細

    • get

      public E get(int index)
      このリスト内の指定された位置にある要素を返します。

      この実装では、最初に、索引付き要素(with listIterator(index))を指すリスト・イテレータを取得します。 次に、ListIterator.nextを使用して要素を取得し、それを返します。

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

      public E set(int index, E element)
      このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。

      この実装では、最初に、索引付き要素(with listIterator(index))を指すリスト・イテレータを取得します。 次に、ListIterator.nextを使用して現在の要素を取得し、ListIterator.setに置き換えます。

      リスト・イテレータがset操作を実装しない場合、この実装はUnsupportedOperationExceptionをスローすることに注意してください。

      定義:
      set、インタフェースList<E>
      オーバーライド:
      set、クラスAbstractList<E>
      パラメータ:
      index - 置換される要素のインデックス。
      element - 指定された位置に格納される要素。
      戻り値:
      指定された位置に以前あった要素。
      スロー:
      UnsupportedOperationException - set操作がこのリストでサポートされていない場合
      ClassCastException - 指定された要素のクラスが原因で、このリストにその要素を追加できない場合
      NullPointerException - 指定された要素がnullで、このリストがnull要素を許可しない場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、このリストにその要素を追加できない場合
      IndexOutOfBoundsException - 索引が(index < 0 || index >= size())の範囲外であるかどうか
    • add

      public void add(int index, E element)
      このリスト内の指定された位置に、指定された要素を挿入します(オプションの操作)。 その位置とそれ以降に要素があればそれらを右に移動させ、各要素のインデックスに1を加えます。

      この実装では、最初に、索引付き要素(with listIterator(index))を指すリスト・イテレータを取得します。 次に、指定された要素をListIterator.addで挿入します。

      リスト・イテレータがadd操作を実装しない場合、この実装はUnsupportedOperationExceptionをスローすることに注意してください。

      定義:
      add、インタフェースList<E>
      オーバーライド:
      add、クラスAbstractList<E>
      パラメータ:
      index - 指定の要素が挿入される位置のインデックス
      element - 挿入される要素
      スロー:
      UnsupportedOperationException - addオペレーションがこのリストでサポートされない場合
      ClassCastException - 指定された要素のクラスが原因で、このリストにその要素を追加できない場合
      NullPointerException - 指定された要素がnullで、このリストがnull要素を許可しない場合
      IllegalArgumentException - 指定された要素のあるプロパティが原因で、このリストにその要素を追加できない場合
      IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0||index> size())
    • remove

      public E remove(int index)
      このリスト内の指定された位置にある要素を削除します(オプションの操作)。 後続の要素を左に移動します(インデックスから1を減算)。 リストから削除された要素が返されます。

      この実装では、最初に、索引付き要素(with listIterator(index))を指すリスト・イテレータを取得します。 次に、ListIterator.removeを使用して要素を削除します。

      リスト・イテレータがremove操作を実装しない場合、この実装はUnsupportedOperationExceptionをスローすることに注意してください。

      定義:
      remove、インタフェースList<E>
      オーバーライド:
      remove、クラスAbstractList<E>
      パラメータ:
      index - 削除される要素のインデックス
      戻り値:
      指定された位置に以前あった要素。
      スロー:
      UnsupportedOperationException - remove操作がこのリストでサポートされていない場合
      IndexOutOfBoundsException - 索引が(index < 0 || index >= size())の範囲外であるかどうか
    • addAll

      public boolean addAll(int index, Collection<? extends E> c)
      指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します(オプションの操作)。 その位置とそれ以降に要素がある場合は、それらを右に移動して、各要素のインデックスに1を加えます。 新しい要素は、指定されたコレクションのイテレータによって返される順序でこのリストに挿入されます。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。 (これは、指定されたコレクションがこのリストで、しかも空ではない場合に起こります。)

      この実装では、指定されたコレクションに対するイテレータと、索引付き要素(with listIterator(index))を指すリスト・イテレータを取得します。 次に、ListIterator.addに続けてListIterator.next (追加された要素をスキップ)を指定して、イテレータから取得した要素を一度に1つずつこのリストに挿入して、指定したコレクションを反復処理します。

      listIteratorメソッドによって返されるリスト・イテレータがadd操作を実装しない場合、この実装はUnsupportedOperationExceptionをスローすることに注意してください。

      定義:
      addAll、インタフェースList<E>
      オーバーライド:
      addAll、クラスAbstractList<E>
      パラメータ:
      index - 指定されたコレクションの最初の要素を挿入する位置のインデックス。
      c - このリストに追加される要素を含むコレクション。
      戻り値:
      呼出しの結果としてこのリストが変更された場合はtrue
      スロー:
      UnsupportedOperationException - addAll操作がこのリストでサポートされていない場合
      ClassCastException - 指定されたコレクションの要素のクラスが原因で、このリストにその要素を追加できない場合
      NullPointerException - 指定されたコレクションに1つ以上のnull要素が含まれており、このリストがnull要素を許可しない場合、または指定されたコレクションがnullの場合
      IllegalArgumentException - 指定されたコレクションの要素のあるプロパティが原因で、このリストにその要素を追加できない場合
      IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0||index> size())
    • iterator

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

      この実装は、リストのリスト・イテレータを返すだけです。

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

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