迭代
迭代器java1.2开始有的
即Collection集合元素的通用获取方式,在获取元素之前先判断集合中有没有元素,有,就取
出,知道取完,这种就称为迭代
java.util
public interface Iterator<E> 对 collection 进行迭代的迭代器
方法
boolean hasNext() 如果仍有元素可以迭代,则返回 true。(换句话说,如果 next 返回了
元素而不是抛出异常,则返回 true)。
E next()返回迭代的下一个元素。
void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)
每次调用 next 只能调用一次此方法,如果进行迭代时用调用此方法之外的其他方式修改了
该迭代器所指向的 collection,则迭代器的行为是不确定的
使用
由于Iterator是接口,无法直接使用
有一个public interface Iterable<T>的接口
该Iterable<T>接口有一个方法Iterator<T> iterator() 刚好可以返回迭代器对象
返回一个在一组 T 类型的元素上进行迭代的迭代器。
注意继承了Iterator的子类集合都可以使用增强for循环进行遍历
而该接口又被Collection接口继承了,所以它的所有派生类及子类接口都有该方法
且都可以进行迭代输出
例如
Iterator<String> iterator=arrayList.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
或者使用for循环
for( Iterator<String> str=arrayList.iterator();str.hasNext();){
System.out.println(str.next());
}