Okapi Project

Iterator インターフェース(いてれーたー)

バージョン
2003 年 06 月 30 日 Ver.1.1
作成者
H.Izumi ( Xware )

目的

リスト内の要素をループ処理したい!

Iterator インターフェースってなに?

Iterator を使うと、next メソッドでコレクションの中を移動できるので、コレクションの要素を繰り返し処理できます。

Iterator インターフェースの説明

Iteratorインターフェースの主なソッド。
boolean hasNext ()
繰り返し処理でさらに要素がある場合は true を返します。
Object next ()
繰り返し処理の次の要素を取得します。
void remove ()
最後に返された要素を削除します。

Iterator インターフェースの使い方

Iteratorインターフェースを使った簡単なプログラムの例です。

import java.util.*;
public class IteratorTest {

    public static void main(String[] args) {
        // ここではArrayListクラスををListインターフェースとして扱います。
        List testList = new ArrayList();
        testList.add("0");
        testList.add("1");
        testList.add("2");
        testList.add("3");
        testList.add("4");

        // Listインターフェースの iterator メソッドで Iterator を取得します。
        Iterator iterator = testList.iterator();
        // hasNext メソッドを使って次の要素があるかどうかを判別します。
        while (iterator.hasNext()) {
            // 次の要素があったので、next メソッドで次の要素を取得します。
            System.out.println(iterator.next());
        }
    }
}

プログラムの実行結果になります。

0
1
2
3
4

ポイント

ヒント

Iterator は、GoF のデザインパターンにも出てくる Iterator パターンの設計となっています。繰り返しの配列に対して、走査するために適した設計となっています。この Iterator パターンで設計された Iterator を使うために、配列は、コレクションフレームワークに属し、Iterator が使えるインターフェースを持っているクラスを使いましょう。

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.