Iterator
Iterator は、開発者がシーケンスの基礎となる構造を理解することなく、シーケンス内のオブジェクトを走査して選択できるデザイン パターンです。イテレータは、安価に作成できるため、「軽量」オブジェクトと呼ばれることがよくあります。
Java の Iterator 関数は比較的単純で、一方向にのみ移動できます:
(1) メソッド iterator() を使用して、コンテナに Iterator を返すように要求します。 Iterator の next() メソッドが初めて呼び出されるとき、シーケンスの最初の要素が返されます。注: iterator() メソッドは java.lang.Iterable インターフェースであり、Collection によって継承されます。
(2) next()を使ってシーケンス内の次の要素を取得します。
(3) hasNext()を使ってシーケンス内にまだ要素があるかどうかを確認します。
(4) イテレータから新たに返された要素をremove()を使って削除します。
Iterator は List 用に設計された Java イテレータの最も単純な実装であり、List を双方向に走査でき、List から要素を挿入したり削除したりすることもできます。
イテレータ アプリケーション:
list l = new ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
for (イテレータ iter = l.iterator(); iter.hasNext();) {
String str = (String)iter.next();
System.out.println(str);
}
/*イテレータはwhileループで使用されます
イテレータiter = l.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
*/