package java.util;
import java.util.function.Consumer;
/**
* 基于集合的迭代器。迭代器取代了Java集合框架中的枚举类。它和枚举有两处不同。
* 1)迭代器允许调用方从集合移除元素。
* 2)方法名称有所改善。
* @param <E>
*/
public interface Iterator<E> {
/**
* 如果还有元素,返回true,否则返回false
*/
boolean hasNext();
/**
* 返回下一个元素,或者抛出NoSuchElementException异常。
*/
E next();
/**
* 移除next()对应的那个元素,移除失败则抛异常。
*/
default void remove() {
throw new UnsupportedOperationException("remove");
}
/**
* 按照迭代顺序,对每个元素做action操作
*/
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
}
源码学习之Iterator
最新推荐文章于 2024-08-10 18:28:44 发布