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]
関連記事
- API 使用例