在jdk的源码中接口Iterator(迭代器),包含三个方法定义,代码如下:
package java.util;
public interface Iterator<E> {
boolean hasNext();
E next();
void remove();
}
在java的集合框架中迭代器代替了枚举。如果迭代对象还有元素迭代则hasNext()返回true,当hasNext()返回true的时候,可以通过方法next()获取到下一个元素。如果迭代对象中没有更多的元素了,即hasNext()返回false,如果继续调用next()则报异常NoSuchElementException。remove()方法用于移除迭代出的元素,每执行完一次next(),remove()被调用一次,如果next()一次也没被执行,直接执行remove()方法则报异常IllegalStateException,同样的,最后一次next()方法执行完后,已经调用完了remove()方法,后面继续调用remove()方法的话,同样会报异常IllegalStateException。