public interface ListIterator<E> extends Iterator<E>
ListIterator
には現在の要素がありません。そのカーソル位置は常に、previous()
の呼び出しによって返される要素と、next()
の呼び出しによって返される要素との間にあります。長さ n
のリストのイテレータには、次のキャレット (^
) で示すように、n+1
個のカーソル位置があり得ます。
Element(0) Element(1) Element(2) ... Element(n-1) カーソルの位置: ^ ^ ^ ^ ^
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() から最後に返された要素を指定された要素で置き換えます (オプションの操作)。 |
boolean hasNext()
true
を返します。つまり、next()
が例外をスローするのではなく要素を返す場合は、true
を返します。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, 2013, Oracle and/or its affiliates. All rights reserved.