楼上解释得很好
我在补充一些内容
迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。
遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
迭代和遍历都是要逐个访问元素。
可以实现Iterator接口,但还需重写接口中的方法,sun公司已经为我们提供了很好的实现,并且调用Iterable中的iterator方法时返回的是Iterator实现类的的对象,所以就可以直接可以调用Iterator中的 hasNext(),next().以及remove()方法了。
如:
ArrayList arrayList = new ArrayList();//初始化一个ArrayList集合
Iterator it = arrayList.iterator();//获取迭代器对象
while(it.hasNext()) {//遍历集合中的对象
System.out.println(it.next().(arrayList中对象的方法或属性,这样就达到遍历的效果));
}
|