迭代器Iterator的执行原理:
Iterator是什么?
- 我们的Iterator就类似于指针一样,我们使用 集合对象.iterator()方法就可以返回一个Iterator接口的实现类的实例对象(也就是产生了一个对于这个集合的实例指针),就相当于我们在集合(容器)上生成一个指针指向这个容器,最开始这个指针的位置是在集合中第一个元素的上一个位置
- 也就是我们的Iterator接口就相当于一个指针接口
- 我们可以通过指针接口(Iterator)被实现后然后创建出一个实际的指针
- 我们是通过集合对象的iterator()方法来产生具体的指针
使用Iterator接口遍历集合时设计到的两个方法:
-
hasNext();
- 判断是否还有下一个元素
- 也就是调用hasNext()方法后就判断下一个位置上有没有元素,如果有的话就返回一个true,如果没有的话就返回一个false
- 判断是否还有下一个元素
-
next();
①.指针下移
②.将指针下移之后位置上的元素返回
- 如果调用next()方法指针下移之后如果下移后位置上的集合元素为null时就会抛出一个NoSuchElementException(找不到元素)