1.Iterator接口介绍
集合有很多种但是取出方式不一样
例如衣柜取衣服 药瓶拿药 水杯接水
所以出来了迭代器来
迭代概念:即Collection集合元素的通用获取方式。在取元素之前要判断集合中有没有元素,如果有就把这个元素取出来,继续判断,如果还有就再取出来。一直把集合中所有的元素全部取出,这种取出的方式称为迭代。
Java.util.Iterator接口:迭代器(对集合进行遍历)
两个常用方法:
boolean hasNext()
如果仍有元素可以迭代,则返回 true。 判断集合中还有没有下一个元素 有true 没有false
E next()
返回迭代的下一个元素。 取出集合中的下一个元素
Iterator迭代器是一个接口我们无法直接使用我们需要使用Iterator的实现类
但是获取实现类方式比较特殊,Collection接口中有一个方法叫iterator();这个方法返回的就是迭代器的实现类对象
Collection 包中 Iterator iterator() 返回在此 collection 的元素上进行迭代的迭代器。
迭代器使用步骤:
1.使用集合中的方法 iterator();方法来获取迭代器的实现类对象,使用Iterator接口来接收 (使用接口来接受一个是实现类就是多态)
2.使用Iterator接口中的方法hasNext判断还有没有下一个元素、
3.使用Iterator接口中的next取出结合中的下一个元素
2.迭代器的代码实现
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
while循环执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
01
02
3.迭代器的实现原理
当创建iterator实现类对象时,就会把指针(索引值)指向-1
hasNext 方法是判断集合中还有没有下一个元素
next方法是取出下一个元素并且把指针向后移动一位(注意这里指针原来指向-1,所以取出的下一个元素是所以位置为0的元素 并且指针向后移动一位)
4.增强for循环 (for each)
增强for循环是专门用来遍历数组和集合的他的内部原理其实是个Iterator迭代器,简化了迭代器的书写,在遍历的过程中不能对集合中的元素进行删增操作
格式
for (集合/数组数据类型 变量名:Collection集合名or数组名){
sout(变量名)
}



