迭代器(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);
}
}
}