一、迭代器是为访问容器如set list等提供遍历方法的一种模式,是为容器而生。
使用跌代器,你不需要干涉其遍历的过程,不需要你来提供遍历的算法,只需要通过迭代器获得你想要的数据进行处理就可以了
从而,你只管处理数据,而获取数据的事让iterator去做吧
Iterator it = list.iterator(); //获得迭代器
while(it.hasNext())
{
//填入代码 ,用 “it.next();”逐个获取你想要的list中的数据
}
二、Iterator和ListIterator的区别
List和Set都有iterator()来取得其迭代器
但对List来说,你也可以通过listIterator()取得其迭代器
两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面:
1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能
2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。
|