集合-ListIteratorクラス


jdk 5
java.utilインターフェースListIterator
すべてのスーパーインターフェース:
Iterator
public interface ListIterator<E>
    
    
    
    
extens
Iterator
<E>
 
 

系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表【无法直接定位....】,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。在长度为 n 的列表中,有 n+1 个有效的索引值,从 0 到 n(包含)。

          Element(0)   Element(1)   Element(2)   ... Element(n)   
        ^            ^            ^            ^               ^
 Index: 0            1            2            3               n+1

 
なお、remove()およびset(Object)の方法はカーソル位置に基づいて定義されていない。これらは、呼び出しnext()またはprevious()によって返された最後の要素の動作に基づいて定義される。
このインターフェースはJava Collection Fraamewarkのメンバーです。
以下のバージョンから開始します。
1.2
また、参照してください:CollectionListIteratorEnumeration方法の概要 voidadd(E o)          指定された要素をリストに挿入します。(オプション操作)。 booleanhasNext()          リストを巡回しているときに、リスト・ディケンサに複数の要素がある場合、trueに戻ります。つまり、nextが異常を投げたのではなく、一つの要素を返したら、trueに戻ります。 booleanhasPrevious()          リストを逆方向に巡回すると、複数の要素がリストの下にあります。trueに戻ります。 Enext()          リストの次の要素を返します。 intnextIndex()          nextに対する後続の呼び出しを返します。 Eprevious()          リストの前の要素を返します。 intpreviousIndex()          previousの後続の呼び出しに対して返される要素のインデックスを返します。 voidremove()          nextまたはpreviousで返された最後の要素をリストから削除します。(オプション操作)。 voidset(E o)          nextまたはpreviousの最後の要素を指定要素で置換します。(オプション操作)。
 
方法詳細
has Next
boolean hasNext()
リストを巡回しているときに、リスト・ディケンサに複数の要素がある場合、trueに戻ります。つまり、nextが異常を投げたのではなく、一つの要素を返したら、trueに戻ります。
指定者:
インターフェースIterator<E>のうちhasNext戻り値:
リストを巡回している場合、リスト・ディケンサに複数の要素がある場合、trueに戻ります。
next
E next()
リストの次の要素を返します。この方法を繰り返してこのリストを繰り返します。またはpreviousを呼び出して前後に移動します。
指定者:
インターフェースIterator<E>のうちnext戻り値:
リストの次の要素をクリックします。
投げ出す:NoSuchElementException-反復可能な次の要素がない場合。
has Prvious
boolean hasPrevious()
リストを逆方向に巡回すると、複数の要素がリストの下にあります。trueに戻ります。(言い換えれば、previousが異常を投げたのではなく、一つの要素を返すと、trueに戻ります)。
戻り値:
リストを逆方向に巡回すると、複数の要素がリストの下にあります。trueに戻ります。
previous
E previous()
リストの前の要素を返します。この方法を繰り返して、リストを繰り返したり、nextを呼び出して前後に移動したりすることができます。
戻り値:
リストの前の要素をクリックします。
投げ出す:NoSuchElementException−反復可能な前の要素がない場合。
nextIndex
int nextIndex()
nextに対する後続の呼び出しを返します。(リストの最後にある場合は、リストのサイズを返します。)
戻り値:
nextの後に返す要素の索引を呼び出し、リストの最後にある場合は、リストサイズに戻ります。
previous Index
int previousIndex()
previousの後続の呼び出しに対して返される要素のインデックスを返します。(リスト・ディケンサがリストの開始時に-1を返します。)
戻り値:
previousの後続の呼び出しによって返された要素のインデックスは、リストの開始時に、-1を返します。
remove
void remove()
nextまたはpreviousで返された最後の要素をリストから削除します。(オプション操作)。nextまたはpreviousごとの呼び出しには、この呼び出しは一回しか実行できません。最後にnextまたはpreviousを呼び出した後だけ、ListIterator.addを起動していない場合にのみ、この呼び出しを実行することができます。
指定者:
インターフェースIterator<E>のうちremove投げ出す:UnsupportedOperationException-リスト・ディケンサがRemove動作をサポートしていない場合。IllegalStateException-nextを呼び出してもpreviousを呼び出してもいないし、最後にnextまたはpreviousを呼び出した後、removeまたはaddを呼び出しました。
セット
void set(E o)
nextまたはpreviousの最後の要素を指定要素で置換します。(オプション操作)。最後にnextまたはpreviousを呼び出した後に、ListIterator.removeもListIterator.addも呼び出していない場合にのみ、この呼び出しが可能です。
パラメータ:o−nextまたはpreviousの最後の要素を置換するための要素。
投げ出す:UnsupportedOperationException-リスト・ディケンサがset動作をサポートしていない場合。ClassCastException−指定された要素のクラスがこのリストに要素を追加することを許可しない場合。IllegalArgumentException−指定された要素のある態様がこのリストに要素を追加することを許可しない場合。IllegalStateException-nextを呼び出してもpreviousを呼び出してもいない場合、または最後にnextまたはpreviousを呼び出した後、removeまたはaddを呼び出します。
add
void add(E o)
指定された要素をリストに挿入します。(オプション操作)。この要素は、nextで返される次の要素の前に直接挿入されます。ある場合、またはpreviousで返される次の要素の後に(ある場合)。リストに要素がない場合、新しい要素はリストの中の唯一の要素となります。新しい要素は隠しカーソルに挿入されます。nextに対する後続の呼び出しに影響を与えず、previousの後続の呼び出しはこの新しい要素に戻ります。
パラメータ:o-挿入する要素。
投げ出す:UnsupportedOperationException-リスト・ディケンサがadd動作をサポートしていない場合。ClassCastException−指定された要素のクラスがこのリストに要素を追加することを許可しない場合。IllegalArgumentException-この要素のある態様が、この要素をリストに追加することを許可しない場合。