迭代: 即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续再判断,如果还有就再取出来,一直把集合中的所有元素全部取出。就叫迭代。
java.util.Iterator接口: 迭代器(对集合进行遍历)
Iterator常用方法:
public E next(): 返回迭代的下一个元素。
public boolean hasNext(): 如果有元素可以继续迭代,返回true。没有则返回false。
Iterator迭代器是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊。Collection接口中有一个方法,叫iterator();这个方法返回的就是迭代器的实现类对象。
Iterator iterator():返回在此collection的元素上进行迭代的迭代器。
迭代器的使用步骤:
1、使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)。
注意:Iterator接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型。
2、使用Iterator接口中的方法hasNext判断还有没有下一个元素。
3、使用Iterator接口中的方法Next取出集合中的下一个元素。(如果没有元素再取会抛出NoSuchElementException)
我们会发现使用迭代器取出集合中元素的代码,是一个重复的过程,所以我们可以使用循环优化。代码示例如下:
①、使用for循环
②、使用while循环
迭代器的实现原理: