- 型パラメータ:
E
- このリスト内に存在する要素の型
- すべての実装されたインタフェース:
Iterable<E>
,Collection<E>
,List<E>
,SequencedCollection<E>
- 直系の既知のサブクラス:
LinkedList
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
- 関連項目:
-
フィールドのサマリー
クラスjava.util.AbstractListで宣言されたフィールド
modCount
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明void
このリスト内の指定された位置に、指定された要素を挿入します(オプションの操作)。boolean
addAll
(int index, Collection<? extends E> c) 指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します(オプションの操作)。get
(int index) このリスト内の指定された位置にある要素を返します。iterator()
このリスト内の要素を(適切な順序で)反復処理するイテレータを返します。abstract ListIterator
<E> listIterator
(int index) このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。remove
(int index) このリスト内の指定された位置にある要素を削除します(オプションの操作)。このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。クラスjava.util.AbstractListで宣言されたメソッド
add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList
クラスjava.util.AbstractCollectionで宣言されたメソッド
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
インタフェースjava.util.Collectionで宣言されたメソッド
parallelStream, removeIf, stream, toArray
インタフェースjava.util.Listで宣言されたメソッド
addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, size, sort, spliterator, toArray, toArray
-
コンストラクタの詳細
-
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
このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。この実装では、最初に、索引付き要素(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
-
listIterator
public abstract ListIterator<E> listIterator(int index) このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。- 定義:
listIterator
、インタフェースList<E>
- オーバーライド:
listIterator
、クラスAbstractList<E>
- パラメータ:
index
- リスト・イテレータから(next
メソッド呼出しによって)返される最初の要素のインデックス- 戻り値:
- このリスト内の要素を(適切な順序で)反復するリスト・イテレータ
- 例外:
IndexOutOfBoundsException
- インデックスが範囲外の場合(index < 0||index> size()
)
-