Iterator和listIterator的區別

2021-06-18 03:14:22 字數 1479 閱讀 5973

我們在使用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...