public abstract class AbstractSequentialList<E> extends AbstractList<E>
このクラスは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のメンバーです。
Collection
, List
, AbstractList
, AbstractCollection
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)
リスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。
|
add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString
addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
parallelStream, removeIf, stream
protected AbstractSequentialList()
public E get(int index)
この実装は、listIterator(index)を使って、インデックスが付けられた要素を指すリスト・イテレータを最初に取得します。次に、ListIterator.nextを使用して要素を取得し、それを返します。
get
、インタフェース: List<E>
get
、クラス: AbstractList<E>
index
- 返される要素のインデックスIndexOutOfBoundsException
- インデックスが範囲外の場合(index < 0||index>= size())public E set(int index, E element)
この実装は、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())public void add(int index, E element)
この実装は、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())public E remove(int index)
この実装は、listIterator(index)を使って、インデックスが付けられた要素を指すリスト・イテレータを最初に取得します。次に、ListIterator.removeを使用して、指定された要素を削除します。
この実装は、リスト・イテレータがremoveオペレーションを実装しない場合にUnsupportedOperationExceptionをスローします。
remove
、インタフェース: List<E>
remove
、クラス: AbstractList<E>
index
- 削除される要素のインデックスUnsupportedOperationException
- removeオペレーションがこのリストでサポートされない場合IndexOutOfBoundsException
- インデックスが範囲外の場合(index < 0||index>= size())public boolean addAll(int index, Collection<? extends E> c)
この実装は、指定されたコレクションのイテレータを取得します。また、listIterator(index)を使って、インデックスが付けられた要素を指す、このリストのリスト・イテレータを取得します。そのあとで、指定されたコレクションを繰り返して調べて、イテレータから取得した要素をリストの適切な位置に1つずつ挿入します。挿入にはListIterator.addと、それに続けて、追加された要素をスキップするためにListIterator.nextを使用します。
この実装は、listIteratorメソッドが返したリスト・イテレータがaddオペレーションを実装しない場合にUnsupportedOperationExceptionをスローします。
addAll
、インタフェース: List<E>
addAll
、クラス: AbstractList<E>
index
- 指定されたコレクションの最初の要素を挿入する位置のインデックスc
- このリストに追加される要素を含むコレクションUnsupportedOperationException
- addAllオペレーションがこのリストでサポートされない場合ClassCastException
- 指定されたコレクションの要素のクラスが原因で、このリストにその要素を追加できない場合NullPointerException
- 指定されたコレクションに1つ以上のnull要素が含まれており、このリストがnull要素を許可しない場合、または指定されたコレクションがnullの場合IllegalArgumentException
- 指定されたコレクションの要素のあるプロパティが原因で、このリストにその要素を追加できない場合IndexOutOfBoundsException
- インデックスが範囲外の場合(index < 0||index> size())public Iterator<E> iterator()
この実装は、リストのリスト・イテレータを返すだけです。
public abstract ListIterator<E> listIterator(int index)
listIterator
、インタフェース: List<E>
listIterator
、クラス: AbstractList<E>
index
- リスト・イテレータから(next
メソッド呼出しによって)返される最初の要素のインデックスIndexOutOfBoundsException
- インデックスが範囲外の場合(index < 0||index> size()
) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.