一·Iterator接口
1.Collection集合中是没有索引的,使用Iterator迭代器来遍历它
2.Iterator迭代器是一种集合中通用的取出集合的方式
3.迭代:即Collection集合元素的通用获取方式,在取出元素之前要判断集合中有没有元素,如果有把这个元素取出来,继续再进行判断,如果还有就再取出来,一直把集合中的元素全部取出,这种取出方式就称为迭代
4.Iterator迭代器:对集合进行迭代的迭代器(对集合进行遍历),同时Iterator是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象
5.Collection接口中有一个方法叫iterator(),这个方法就是返回迭代器的实现类对象(Iterator<E> iterator()返回在此Collection的元素上进行迭代的迭代器
二·Iterator常用方法:
1.迭代器的使用步骤
(1)使用Collextion集合中的方法iterator()来获取迭代器的实现对象,使用Iterator接口接收(多态)
注意:Iterator<E>接口是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型迭代器就是什么泛型
(2)使用Iterator接口中的方法hasNext,判断还有没有下一个元素
(3)使用Iterator接口中的方法next取出集合中的下一个元素
public static void main(String[] args) { Collection<String> coll =new ArrayList<>(); coll.add("刘备"); coll.add("张飞"); coll.add("关羽"); coll.add("孔明"); coll.add("庞统"); //1.获取一个迭代器,使用Collextion集合中的方法iterator()来获取迭代器的实现对象,使用Iterator接口接收(多态) //多态 接口 实现类对象 //Iterator<E> it=coll.iterator(); //2.使用Iterator接口中的方法hasNext,判断还有没有下一个元素 Iterator<String> it=coll.iterator(); boolean b=it.hasNext(); System.out.println(b);//true,没有元素返回false,有返回true //3.使用Iterator接口中的方法next取出集合中的下一个元素 /*String s = it.next(); System.out.println(s);//刘备*/ //注意:若没有元素时取出元素,会抛出异常(NoSuchElementException没有元素异常) //我们可以使用循环优化迭代器,不知道集合中有多少元素,使用while循环,循环结束的条件hasNext方法返回false while(it.hasNext()){ String s1 = it.next(); System.out.println(s1); } }
2.迭代器的实现原理
原文:https://www.cnblogs.com/shen-ran/p/13875702.html