javaのイテレータの使用方法
Javaではイテレータ(Iterator)はコレクション(Collection)内の要素を反復するための仕組みです。イテレータはコレクション内の各要素に統一された方法でアクセスする方法を提供し、基盤となるコレクションの実装の詳細を知る必要はありません。
イテレータを使用するための一連の一般的な手順は次のとおりです。
- 配列リストなどのコレクションオブジェクトを作成する
List<String> list = new ArrayList<>();
- セットに要素追加:
list.add("元素1");
list.add("元素2");
list.add("元素3");
- イテレーターオブジェクトを取得する:
Iterator<String> iterator = list.iterator();
- イテレータを使用してセット内の要素をループ処理する。
while (iterator.hasNext()) {
String element = iterator.next();
// 对元素进行操作,例如打印或者其他逻辑处理
System.out.println(element);
}
上のようなコードでは、hasNext()メソッドは集合の中に次の要素が存在するかどうかを判定するために使用され、next()メソッドは次の要素を取得するために使われます。集合の中に次の要素がない時に、hasNext()メソッドはfalseを返却し、ループは終了します。
イテレータでコレクションを走査するとコレクションに変更を加えなくなることに注意してください。そうでなければ ConcurrentModificationException 例外をスローする可能性があります。走査中にコレクションを変更する必要がある場合はイテレータの remove() メソッドを使用して要素を削除できます。
また、Java 5からはコレクションをより手頃に反復処理できる強化forループ(foreachループ)が導入されました。例えば以下です。
for (String element : list) {
System.out.println(element);
}
イテレーターオブジェクトを明示的に作成することなく、イテレーターを自動的に取得してコレクション内の要素をイテレートできます。
まとめ: Javaのイテレータを使うと、コレクション内の要素を簡単に反復処理でき、様々なコレクションで統一されたアクセス方法を提供します。