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()から最後に返された要素を指定された要素で置き換えます(オプションの操作)。 |
forEachRemainingboolean hasNext()
E next()
previous()の呼び出しと組み合わされる場合があります。nextとpreviousの呼出しを交互に行うと、繰返し同じ要素が返されます。next、インタフェース: Iterator<E>NoSuchElementException - 反復処理で次の要素がない場合boolean hasPrevious()
trueを返します。つまり、previous()が例外をスローするのではなく要素を返す場合は、trueを返します。trueE 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.