Iterator迭代器
java.util.Iterator接口,主要用于迭代访问Collection中的元素,被称为:迭代器
-
迭代的概念:
- Collection集合元素的通用获取方式,在取元素之前先判断集合中有没有元素,如果有就把这个元素取出来,在继续判断,如果还有就继续取,直到把所有所有元素取出,这种取出的方式就叫做迭代
-
常用方法:
-
public E next():返回迭代的下一个元素
-
public boolean hasNext():如果有元素,则返回true(可以迭代)
-
配合while循环使用:
Iterator it = collection.iterator();
while(it.hasNext()){
Object obj = it.next();
}
-
-
迭代器实现原理:
- 当遍历集合时,首先使用iterator()获得一个迭代器对象Iterator,然后使用hashNext()方法,判断集合中是否存在下一个元素,存在返回true执行next()方法,取出元素
- 调用next()方法之前,迭代器的索引位于集合中第一个元素之前,不指向任何元素,使用一次next()方法后,迭代器的索引会向后移动一位,这样就指向了第一个元素,然后返回这个元素。以此类推直到hashNext()返回false,停止遍历。