集合类基本都有返回Iterator的方法,比如List就由返回Iterator和ListIterator的方法。ListIterator继承Iterator接口。这两个接口最大的不同在与Iterator这能进行顺序遍历,而 ListIterator能进行双向遍历。
输出:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class IteratorTest {
/**
* @param args
*/
public static void main(String[] args) {
List<String> strList = new ArrayList<String>();
for(int i = 0; i < 3; i ++) {
strList.add("str" + i);
}
Iterator<String> strIterator = strList.iterator();
ListIterator<String> strListIterator = strList.listIterator();
for(; strIterator.hasNext();) {
System.out.println(strIterator.next());
}
System.out.println("------------------------------");
for(; strListIterator.hasPrevious();) {
System.out.println(strListIterator.previous());
}
System.out.println("------------------------------");
for(; strListIterator.hasNext();) {
System.out.println(strListIterator.next());
}
System.out.println("------------------------------");
for(; strListIterator.hasPrevious();) {
System.out.println(strListIterator.previous());
}
System.out.println("------------------------------");
}
}
输出:
str0
str1
str2
------------------------------
------------------------------
str0
str1
str2
------------------------------
str2
str1
str0
------------------------------