模块  java.base
软件包  java.util

Interface Iterator<E>

    • 方法摘要

      所有方法  实例方法 抽象方法  Default Methods 
      变量和类型 方法 描述
      default void forEachRemaining​(Consumer<? super E> action)
      对每个剩余元素执行给定操作,直到处理完所有元素或操作引发异常。
      boolean hasNext()
      如果迭代具有更多元素,则返回 true
      E next()
      返回迭代中的下一个元素。
      default void remove()
      从底层集合中移除此迭代器返回的最后一个元素(可选操作)。
    • 方法详细信息

      • hasNext

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

        E next()
        返回迭代中的下一个元素。
        结果
        迭代中的下一个元素
        异常
        NoSuchElementException - 如果迭代没有更多元素
      • remove

        default void remove()
        从底层集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用next()时,只能调用此方法一次。

        除非通过调用此方法以外的任何方式修改基础集合,否则迭代器的行为未指定,除非重写类已指定并发修改策略。

        如果在调用forEachRemaining方法后调用此方法, 则不指定迭代器的行为。

        实现要求:
        默认实现会抛出UnsupportedOperationException的实例,并且不执行任何其他操作。
        异常
        UnsupportedOperationException - 如果此迭代器不支持 remove操作
        IllegalStateException -如果 next方法尚未被调用,或 remove方法已经到了最后一个电话后,叫 next方法
      • forEachRemaining

        default void forEachRemaining​(Consumer<? super E> action)
        对每个剩余元素执行给定操作,直到处理完所有元素或操作引发异常。 如果指定了该顺序,则按迭代顺序执行操作。 操作抛出的异常将转发给调用者。

        如果操作以任何方式修改集合(即使通过调用remove方法或Iterator子类型的其他mutator方法),迭代器的行为也未指定,除非覆盖类指定了并发修改策略。

        如果操作引发异常,则不指定迭代器的后续行为。

        实现要求:

        默认实现的行为如下:

           while (hasNext()) action.accept(next());  
        参数
        action - 要为每个元素执行的操作
        异常
        NullPointerException - 如果指定的操作为null
        从以下版本开始:
        1.8