package java.util;
import java.util.function.Consumer; //消费型函数式接口
//迭代器接口
public interface Iterator<E> {
    //迭代器是否还有下一个,当迭代器为空,返回null
    boolean hasNext();
    //迭代器的下一个
    E next();
    //移除迭代器的一个元素,阿里巴巴开发手册中禁止使用该方法
    default void remove(){
        throw new UnsupportedOperationException("remove");
    }
    //按迭代顺序对每一个元素执行消费型接口所实现的方法
    default void forEachRemaining(Consumer<? super E> action){
        Objects.requireNonNull(action);
        while (hasNext())
            action.accept(next());
    }
}