Java中的Iterator和ListIterator之间的区别
Java提供了这两个接口来逐个遍历存储在集合中的数据。迭代器和列表迭代器的内部实现使它们彼此不同,但是两个迭代器的主要议程是相同的。
以下是迭代器和List迭代器之间的重要区别。
迭代器()
Collection接口的方法来创建迭代器对象。list迭代器()
List接口中存在的方法来创建。set()
方法随时轻松地修改列表集合中的元素。nextIndex()
和方法,previousIndex()
可在遍历List时随时获取元素的索引。迭代器与List迭代器的示例
JavaTester.java
import java.io.*; import java.util.*; public class JavaTester { public static void main(String[] args){ ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); //迭代器 迭代器 itr = list.迭代器(); System.out.println("迭代器 traversal:"); while (itr.hasNext()) System.out.print(itr.next() + " "); System.out.println(); // List迭代器 List迭代器 i = list.list迭代器(); System.out.println("List迭代器 Forward traversal:"); while (i.hasNext()){ System.out.print(i.next() + " "); System.out.println(); System.out.println("List迭代器 Backward traversal : "); } while (i.hasPrevious()){ System.out.print(i.previous() + " "); System.out.println(); } } }
输出结果
迭代器 traversal: 1 2 3 4 5 List迭代器 Forward traversal: 1 List迭代器 Backward traversal : 2 List迭代器 Backward traversal : 3 List迭代器 Backward traversal : 4 List迭代器 Backward traversal : 5 List迭代器 Backward traversal : 5 4 3 2 1