Java : Iterator - API使用例

Iterator (Java SE 17 & JDK 17) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。


概要

コレクションのイテレータです。 Iteratorは、Java Collections FrameworkにおいてEnumerationの代わりとなります。

クラス構成

final var list = List.of("aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]

final var iterator = list.iterator();
while (iterator.hasNext()) {
    final var s = iterator.next();
    System.out.println(s);
}

// 結果
// ↓
//aaa
//bbb
//ccc

メソッド

default void forEachRemaining (Consumer<? super E> action)

すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。

final var list = List.of("aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]

final var iterator = list.iterator();
iterator.forEachRemaining(s -> {
    System.out.println(s);
});

// 結果
// ↓
//aaa
//bbb
//ccc

boolean hasNext ()

反復処理でさらに要素がある場合にtrueを返します。

final var list = List.of("aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]

final var iterator = list.iterator();
while (iterator.hasNext()) {
    final var s = iterator.next();
    System.out.println(s);
}

// 結果
// ↓
//aaa
//bbb
//ccc

E next ()

反復処理で次の要素を返します。

このメソッドの使用例は、hasNext() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

default void remove ()

ベースとなるコレクションから、このイテレータによって最後に返された要素を削除します(オプションの操作)。

final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc", "ddd");
System.out.println(list); // [aaa, bbb, ccc, ddd]

final var iterator = list.iterator();
while (iterator.hasNext()) {
    final var s = iterator.next();
    if (s.equals("aaa") || s.equals("ccc")) {
        iterator.remove();
    }
}

System.out.println(list); // [bbb, ddd]

関連記事

ページの先頭へ