我們在使用list,set的時候,為了實現對其資料的遍歷,我們經常使用到了iterator(迭代器)。使用迭代器,你不需要干涉其遍歷的過程,只需要每次取出乙個你想要的資料進行處理就可以了。
但是在使用的時候也是有不同的。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僅能遍歷,不能修改。
因為listiterator的這些功能,可以實現對linkedlist等list資料結構的操作。其實,陣列物件也可以用迭代器來實現。
public static void itermanipulation(list a)
system.out.println("--------------------------------");
while(it.hasprevious())
}結果:
0--->algeria
1--->angola
2--->benin
3--->botswana
4--->burkina faso
5--->burundi
6--->cameroon
7--->cape verde
8--->central african republic
9--->chad
--------------------------------
9------>chad
8------>central african republic
7------>cape verde
6------>cameroon
5------>burundi
4------>burkina faso
3------>botswana
2------>benin
1------>angola
0------>algeria
0
給主人留下些什麼吧!~~
Iterator和listIterator的區別
我們在使用list,set的時候,為了實現對其資料的遍歷,我們經常使用到了iterator 迭代器 使用迭代器,你不需要干涉其遍歷的過程,只需要每次取出乙個你想要的資料進行處理就可以了。但是在使用的時候也是有不同的。list和set都有iterator 來取得其迭代器。對list來說,你也可以通過l...
Iterator和ListIterator的區別
我們在使用list,set的時候,為了實現對其資料的遍歷,我們經常使用到了iterator 跌代器 使用跌代器,你不需要干涉其遍歷的過程,只需要每次取出乙個你想要的資料進行處理就可以了。但是在使用的時候也是有不同的。list和set都有iterator 來取得其迭代器。對list來說,你也可以通過l...
iterator和listiterator的異同
我們在使用list,set的時候,為了實現對其資料的遍歷,我們經常使用到了iterator 跌代器 使用跌代器,你不需要干涉其遍歷的過程,只需要每次取出乙個你想要的資料進行處理就可以了。但是在使用的時候也是有不同的。list和set都有iterator 來取得其迭代器。對list來說,你也可以通過l...