public interface ListIterator<E> extends Iterator<E>
ListIterator
には現在の要素がありません。そのカーソル位置は常に、previous()
呼出しによって返される要素と、next()
呼出しによって返される要素との間にあります。長さn
のリストのイテレータには、次のキャレット(^
)で示すように、n+1
個のカーソル位置があり得ます。
Element(0) Element(1) Element(2) ... Element(n-1) cursor positions: ^ ^ ^ ^ ^
remove()
メソッドとset(Object)
メソッドは、カーソル位置によっては定義されていません。これらのメソッドは、next()
またはprevious()
の呼出しによって返された最後の要素を処理するように定義されています。
このインタフェースは、Java Collections Frameworkのメンバーです。
Collection
, List
, Iterator
, Enumeration
, List.listIterator()
修飾子と型 | メソッドと説明 |
---|---|
void |
add(E e)
指定された要素をリストに挿入します(オプションの操作)。
|
boolean |
hasNext()
リストを順方向にトラバースしたときに、このリスト・イテレータがさらに要素を持っている場合に
true を返します。 |
boolean |
hasPrevious()
リストを逆方向にトラバースしたときに、このリスト・イテレータがさらに要素を持っている場合に
true を返します。 |
E |
next()
リスト内の次の要素を返し、カーソル位置を前に進めます。
|
int |
nextIndex()
次に
next() を呼び出したときに返されることになる要素のインデックスを返します。 |
E |
previous()
リスト内の前の要素を返し、カーソル位置を逆方向に移動します。
|
int |
previousIndex()
次に
previous() を呼び出したときに返されることになる要素のインデックスを返します。 |
void |
remove()
next() またはprevious() によって返された最後の要素をリストから削除します(オプションの操作)。 |
void |
set(E e)
next() またはprevious() から最後に返された要素を指定された要素で置き換えます(オプションの操作)。 |
forEachRemaining
boolean hasNext()
E next()
previous()
の呼び出しと組み合わされる場合があります。next
とprevious
の呼出しを交互に行うと、繰返し同じ要素が返されます。next
、インタフェース: Iterator<E>
NoSuchElementException
- 反復処理で次の要素がない場合boolean hasPrevious()
true
を返します。つまり、previous()
が例外をスローするのではなく要素を返す場合は、true
を返します。true
E previous()
next()
の呼び出しと組み合わされる場合があります。next
とprevious
の呼出しを交互に行うと、繰返し同じ要素が返されます。NoSuchElementException
- 反復処理で前の要素がない場合int nextIndex()
next()
を呼び出したときに返されることになる要素のインデックスを返します。リスト・イテレータがリストの末尾にある場合はリストのサイズを返します。next
を呼び出したときに返されることになる要素のインデックス。リスト・イテレータがリストの最後にある場合はリストのサイズint previousIndex()
previous()
を呼び出したときに返されることになる要素のインデックスを返します。リスト・イテレータがリストの先頭にある場合は -1を返します。previous
を呼び出したときに返されることになる要素のインデックス。リスト・イテレータがリストの先頭にある場合は -1void remove()
next()
またはprevious()
によって返された最後の要素をリストから削除します(オプションの操作)。この呼出しはnext
またはprevious
の呼び出しごとに1回だけ行うことができます。この呼出しは、前回のnext
またはprevious
の呼出し以降にadd(E)
が呼び出されていない場合にだけ行うことができます。remove
、インタフェース: Iterator<E>
UnsupportedOperationException
- remove
オペレーションがこのリスト・イテレータでサポートされない場合IllegalStateException
- next
とprevious
のどちらも呼び出されていない場合、あるいはnext
またはprevious
の最後の呼出し後にremove
またはadd
が呼び出された場合void set(E e)
next()
またはprevious()
から最後に返された要素を指定された要素で置き換えます(オプションの操作)。この呼出しは、前回のnext
またはprevious
の呼出し以降にremove()
とadd(E)
のどちらも呼び出されていない場合にだけ行うことができます。e
- next
またはprevious
によって返された最後の要素を置き換える要素UnsupportedOperationException
- set
オペレーションがこのリスト・イテレータでサポートされない場合ClassCastException
- 指定された要素のクラスが原因で、このリストにその要素を追加できない場合IllegalArgumentException
- 指定された要素のある特性が原因で、このリストにその要素を追加できない場合IllegalStateException
- next
とprevious
のどちらも呼び出されていない場合、あるいはnext
またはprevious
の最後の呼出し後にremove
またはadd
が呼び出された場合void add(E e)
next()
によって返される要素(ある場合)の直前、およびprevious()
によって返される要素(ある場合)の直後に挿入されます。リストに要素がない場合は、新しい要素がリストの唯一の要素になります。新しい要素は、暗黙のカーソルの前に挿入されます。後続のnext
の呼出しは影響を受けず、後続のprevious
の呼出しは新しい要素を返します。この呼出しは、nextIndex
またはpreviousIndex
の呼出しによって返される値を1増やします。e
- 挿入する要素UnsupportedOperationException
- add
メソッドがこのリスト・イテレータでサポートされない場合ClassCastException
- 指定された要素のクラスが原因で、このリストにその要素を追加できない場合IllegalArgumentException
- この要素のある特性が原因で、このリストにその要素を追加できない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.