迭代器(Iterator)是可以遍历和查找集合容器中的对象,使用者无需了解集合的内部结构。通常集合容器都提供迭代器接口的实现,作为内部内部类来实现具体数据结构操作算法。
Java中定义Iterator接口,功能比较简单,并且只能单向向后移动,功能如下:
iterator()要求集合容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回集合容器的第一个元素。
next()获得集合容器中的下一个元素。
hasNext()检查集合容器中是否还有元素。
remove()将迭代器新返回的元素删除。
通常使用以下两个方式来遍历已实现了Iterator接口集合容器中元素,如下面的两个示例:
示例1:使用while循环
public class Test {
public static void main(String[] args) {
List list=new ArrayList();
list.add("北京");
list.add("南京");
list.add("上海");
list.add("深圳");
Iterator it=list.iterator();
while(it.hasNext()){
String city=it.next();
System.out.println(city);
}
for(String city:list){
System.out.println(city);
}
}
}
示例2:使用for循环
publicclassTest {
publicstaticvoidmain(String[] args) {
List list=newArrayList();
list.add("北京");
list.add("南京");
list.add("上海");
list.add("深圳");
Iterator it=list.iterator();
while(it.hasNext()){
String city=it.next();
System.out.println(city);
}
for(String city:list){
System.out.println(city);
}
}
}