鸿蒙OS开发文档 鸿蒙OS Iterator

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 3

Iterator

public interface Iterator<E>

集合上的迭代器。 迭代器在 Java 集合框架中取代了枚举。 迭代器在两个方面不同于枚举:

  • 迭代器允许调用者在具有明确定义的语义的迭代期间从底层集合中删除元素。
  • 方法名称已得到改进。

此接口是 Java 集合框架的成员。

方法总结

修饰符和类型方法描述
default voidforEachRemaining(Consumer<? super E> action)对每个剩余元素执行给定的操作,直到所有元素都已处理或该操作引发异常。
booleanhasNext()如果迭代有更多元素,则返回 true。
Enext()返回迭代中的下一个元素。
default voidremove()从基础集合中移除此迭代器返回的最后一个元素(可选操作)。

方法详情

hasNext

boolean hasNext()

如果迭代有更多元素,则返回 true。 (换句话说,如果 next() 将返回一个元素而不是抛出异常,则返回 true。)

返回:

如果迭代有更多元素,则为 true

next

E next()

返回迭代中的下一个元素。

返回:

迭代中的下一个元素

Throws:

Throw名称Throw描述
NoSuchElementException如果迭代没有更多元素

remove

default void remove()

从基础集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用 next() 时只能调用一次此方法。 如果在迭代过程中以除调用此方法之外的任何方式修改了基础集合,则迭代器的行为是未指定的。

Throws:

Throw名称Throw描述
UnsupportedOperationException如果此迭代器不支持删除操作
IllegalStateException如果下一个方法还没有被调用,或者在最后一次调用下一个方法之后已经调用了remove方法

forEachRemaining

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

对每个剩余元素执行给定的操作,直到所有元素都已处理或该操作引发异常。 如果指定了迭代顺序,则按迭代顺序执行操作。 操作引发的异常将转发给调用者。

参数:

参数名称参数描述
action为每个元素执行的操作

Throws:

Throw名称Throw描述
NullPointerException如果指定的操作为空