- すべての実装されたインタフェース:
Iterable<E>
,Collection<E>
,List<E>
- 直系の既知のサブクラス:
LinkedList
public abstract class AbstractSequentialList<E> extends AbstractList<E>
List
インタフェースのスケルトン実装を提供し、リンク・リストのような「順次アクセス」データ・ストアに連動するこのインタフェースを実装するのに必要な作業量を最小限に抑えます。 配列のようなランダム・アクセス・データを扱うには、このクラスではなくAbstractList
を使用してください。
このクラスはAbstractList
クラスと対になるものです。AbstractListは「ランダム・アクセス」用のメソッドであるget(int index)
、set(int index, E element)
、add(int index, E element)
、およびremove(int index)
をリストのリスト・イテレータの上位に実装しますが、このクラスでは逆になります。
リストを実装するには、このクラスを拡張して、listIterator
およびsize
メソッドの実装を提供します。 変更不可能なリストを実装するには、リスト・イテレータのhasNext
、next
、hasPrevious
、previous
、およびindex
メソッドを実装します。
変更可能なリストを実装するには、リスト・イテレータのset
メソッドも実装してください。 可変サイズのリストを実装するには、リスト・イテレータのremove
メソッドおよびadd
メソッドも実装してください。
Collection
インタフェースの仕様で推奨されているように、通常は、引数なしのvoidコンストラクタ、および引数にコレクションをとるコンストラクタを提供してください。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 1.2
- 関連項目:
Collection
,List
,AbstractList
,AbstractCollection
-
フィールドのサマリー
クラス java.util.AbstractListで宣言されたフィールド
modCount
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
AbstractSequentialList()
唯一のコンストラクタです。 -
メソッドのサマリー
修飾子と型 メソッド 説明 void
add(int index, E element)
このリスト内の指定された位置に、指定された要素を挿入します(オプションの操作)。boolean
addAll(int index, Collection<? extends E> c)
指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します(オプションの操作)。E
get(int index)
このリスト内の指定された位置にある要素を返します。Iterator<E>
iterator()
このリスト内の要素を(適切な順序で)反復処理するイテレータを返します。abstract ListIterator<E>
listIterator(int index)
このリスト内の要素を(適切な順序で)反復するリスト・イテレータを返します。E
remove(int index)
このリスト内の指定された位置にある要素を削除します(オプションの操作)。E
set(int index, E element)
このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。クラス 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, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
-
コンストラクタの詳細
-
AbstractSequentialList
protected AbstractSequentialList()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
get
public E get(int index)このリスト内の指定された位置にある要素を返します。この実装は、
listIterator(index)
を使って、インデックスが付けられた要素を指すリスト・イテレータを最初に取得します。 次に、ListIterator.next
を使用して要素を取得し、それを返します。- 定義:
get
、インタフェース:List<E>
- 定義:
get
、クラス:AbstractList<E>
- パラメータ:
index
- 返される要素のインデックス- 戻り値:
- このリスト内の指定された位置にある要素
- 例外:
IndexOutOfBoundsException
- インデックスが範囲外の場合(index < 0||index>= size()
)
-
set
このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。この実装は、
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を加えます。この実装は、
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を減算)。 リストから削除された要素が返されます。この実装は、
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を加えます。 新しい要素は、指定されたコレクションのイテレータによって返される順序でこのリストに挿入されます。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。 (これは、指定されたコレクションがこのリストで、しかも空ではない場合に起こります。)この実装は、指定されたコレクションのイテレータを取得します。また、
listIterator(index)
を使って、インデックスが付けられた要素を指す、このリストのリスト・イテレータを取得します。 そのあとで、指定されたコレクションを繰り返して調べて、イテレータから取得した要素をリストの適切な位置に1つずつ挿入します。挿入にはListIterator.add
と、それに続けて、追加された要素をスキップするためにListIterator.next
を使用します。この実装は、
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()
)
-