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
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, 2013, Oracle and/or its affiliates. All rights reserved.