您的位置:首页 > 编程语言 > Java开发

Java8 Iterator接口源码阅读

2015-04-19 19:16 351 查看
/**
* 一个在collection上的iterator。Iterator在Java集合框架中取代Enumeration。
* Iterator在两个方面和enumeration不同:
* 1. Iterator允许在迭代的过程总从collection中移除元素。
* 2. 方法命改善了
*
*这个接口是Java集合框架的成员
*/
public interface Iterator<E> {
/**
* 如果迭代器中有更大的元素,就返回true。(换句话说,如果next()方法
* 返回一个元素而不是抛出一个异常,就返回true)
*/
boolean hasNext();

/**
* 返回在迭代器中德下一个元素
*/
E next();

/**
* 从底层collection中删除被迭代器返回的下一个元素(可选的操作)。这个方法可能在每次
* 调用next()方法后调用一次。当迭代正在进行中,如果底层collection被除这个方法外
* 的其他方式更改,迭代器的行为是没有被指定的。
*
* 默认实现抛出UnsupportedOperationException的一个实例,不执行任何动作。
*/
default void remove() {
throw new UnsupportedOperationException("remove");
}

/**
* 对每一个留下的元素执行给定的动作指导所有元素都被处理了或者动作抛出一个异常。动作以迭代
* 的顺序被执行,如果迭代的顺序被指定了的话。被动作抛出的异常将传递给调用者。
*/
default void forEachRemaining(Consumer<? super E> action) {
// 验证action是否为null,如果为null,抛出NullPointerException
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java Iterator接口 源码