appendix> util> Iterator TOPUPPREVNEXT

インターフェース java.util.Iterator<E>

【主な機能】

コレクションの要素を順に取り出します。

【実装すべきメソッド】

メソッド機能
boolean hasNext ( ) このコレクションに、まだ取り出すべき要素が残っている場合に true 。
E next ( ) このコレクションの次の要素。
hasNext() が false となる状態で、 このメソッドを呼び出すと NoSuchElementException がスローされます。
1.4 以前では <E> をかけませんから、 Object 型の値が返されます。 キャストをして使います。
void remove ( ) 直前に取り出した要素を、このコレクションから削除します。
[任意]
つまり、Iterator インターフェースを実装していると称していても、 remove メソッドが提供されないコレクションがあります。 このようなコレクションに対し remove を呼び出すと UnsupportedOperationException がスローされます。
next メソッドが呼び出されていない状態で remove を呼び出すと IllegalStateException がスローされます。

【例1】

ArrayList の全要素を取り出す例(1.4 以前)

プログラム IteratorDemo1.java

実行結果

IteratorDemo1-1.gif

【例2】

ArrayList の全要素を取り出す例(5.0 以降)

プログラム IteratorDemo2.java

実行結果

IteratorDemo2-1.gif

【例3】

削除の例

プログラム IteratorDemo3.java

実行結果

IteratorDemo3-1.gif

【例4】

例2のプログラムは、 for/in 構文を使うとより簡便に記述できます(11〜12行目)。 陽には Iterator を使いませんから import も不要です。
<T> 型の コレクションに <T> 型配列の全要素を追加するには、 Collections クラスの addAll メソッド(スタティック・メソッド)が便利です(10行目)

プログラム IteratorDemo4.java

実行結果は 例2 と同じです。


更新日:2005-07-26