迭代器是一個對象,它的工作時遍歷並選擇序列中的對象。迭代器通常被稱爲輕量級對象,因爲創建它的代價小,Java的Iterator只能用來單向移動。
4個方法:
1.使用iterator()來返回一個Iterator。
2.使用next()獲得序列中的下一個元素。
3.使用hasNext()檢查序列中是否還有元素。
4.使用remove()將迭代器新近返回的元素刪除。
其實,迭代器除了遍歷容器之外,最大的功能就是統一了對容器的訪問方式。
完全可以將Itarator作爲參數,例如(Java編程思想中的源碼):
public class CrossContainerIterator{
public static void display (Iterator<Pet> it){
while(it.hasNext()){
Pet p = it.next();
System.out.println(p.id+":"+p);
}
public static void main(String [] args){
ArrayList<Pet> pets = Pets.arrayList(8);
LinkedList<Pet> petsLL = new LinkedList<Pet>(pets);
HashSet<Pet> petsHS = new HashSet<Pet>(pets);
TreeSet<Pet> petTS = new TreeSet<Pet>(pets);
display(pets.iterator);
display(petsLL.iterator);
display(petsHS.iterator);
display(petsTS.iterator);
}
}
由此可看出不用去管具體的容器類型是什麼,只要數據類型相同,那麼都能使用iterator來進行遍歷。