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

クラスAbstractList<E>

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

public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
このクラスは、Listインタフェースのスケルトン実装を提供し、配列のような「ランダム・アクセス」データ・ストアに連動するこのインタフェースを実装するのに必要な作業量を最小限に抑えます。 リンク・リストのような順次アクセス・データ記憶域の場合は、このクラスではなくAbstractSequentialListを使用してください。

変更不可能なリストを実装するには、このクラスを拡張して、get(int)メソッドおよびsize()メソッドの実装を提供します。

変更可能なリストを実装するには、さらにset(int, E)メソッドもオーバーライドする必要があります(そうしない場合は、UnsupportedOperationExceptionがスローされる)。 そのリストが可変長である場合は、さらにadd(int, E)およびremove(int)メソッドもオーバーライドする必要があります。

Collectionインタフェースの仕様で推奨されているように、通常は、引数なしのvoidコンストラクタ、および引数にコレクションをとるコンストラクタを提供してください。

ほかのコレクションの抽象実装とは異なり、イテレータの実装を提供する必要はありません。イテレータおよびリスト・イテレータはこのクラスで実装され、ランダム・アクセス用のメソッドであるget(int)set(int, E)add(int, E)、およびremove(int)の上位に位置付けられます。

実装の詳細については、このクラスの抽象メソッド以外の各メソッドのドキュメントを参照してください。 より効率的な実装ができるコレクションの場合は、これらのメソッドをオーバーライドしてもかまいません。

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

導入されたバージョン:
1.2