Java : Iterator 示例

Java 中的 Iterator (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 Iterator<E> 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

集合上的迭代器。迭代器在 Java 集合框架中取代了枚举。 (机器翻译)

Class diagram

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

final var iterator = list.iterator();

System.out.println("-- next --");
while (iterator.hasNext()) {
    final var value = iterator.next();
    System.out.println(value);
}

// Result
// ↓
//-- next --
//aaa
//bbb
//ccc

Methods

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();

System.out.println("-- forEachRemaining --");
iterator.forEachRemaining(value -> {
    System.out.println(value);
});

// Result
// ↓
//-- forEachRemaining --
//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();

System.out.println("-- next --");
while (iterator.hasNext()) {
    final var value = iterator.next();
    System.out.println(value);
}

// Result
// ↓
//-- next --
//aaa
//bbb
//ccc

E next ()

返回迭代中的下一个元素。 (机器翻译)

Please see hasNext().

default void remove ()

从底层集合中删除此迭代器返回的最后一个元素(可选操作)。 (机器翻译)

final var list = new ArrayList<Integer>();
Collections.addAll(list, 1, 2, 3, 4, 5, 6);

System.out.println(list); // [1, 2, 3, 4, 5, 6]

final var iterator = list.iterator();
while (iterator.hasNext()) {
    final var value = iterator.next();
    if (value % 2 == 0) {
        iterator.remove();
    }
}

System.out.println(list); // [1, 3, 5]

相关文章

To top of page