Java所有集合类的基本接口是Collection接口。而Collection接口继承java.lang.Iterable接口。
Iterator是Java中的迭代器,是能够对List这样的集合进行迭代遍历的底层依赖。而Iterable接口里定义了返回Iterator的方法,相当于对Iterator的封装,同时实现了Iterable接口的类还可以支持for each循环。
Iterator
java.util.Iterator
子接口: ListIterator<E>,PrimitiveIterator<T,T_CONS>,PrimitiveIterator.OfDouble,PrimitiveIterator.OfInt,PrimitiveIterator.OfLong,XMLEventReader
实现类: BeanContextSupport.BCSIterator,EventReaderDelegate,Scanner
List<Integer> list=new ArrayList<>();
list.add(5);
list.add(23);
list.add(42);
for(int i=0;i<list.size();i++){ //for循环
System.out.print(list.get(i)+",");
}
Iterator it=list.iterator(); //迭代器遍历
while(it.hasNext()){
System.out.print(it.next()+",");
}
for(Interger i:list){ //for each循环
System.out.print(i+",");
}
第一种就是普通的for循环,第二种为迭代器遍历,第三种是for each循环。后面两种方式涉及到Java中的Iterator和Iterator对象。
Iterator是遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避