📅  最后修改于: 2023-12-03 14:42:11.295000             🧑  作者: Mango
在Java集合框架中,两个常用的遍历器是Iterator和ListIterator。虽然这两个遍历器都可以用来遍历集合,但它们之间有一些不同之处。
Iterator是集合框架中最基本的遍历器。它可以用于遍历任何集合,包括List、Set、Queue和Map。Iterator可以在集合中只读地移动,也可以使用它来删除元素。
Iterator的常见用法是使用while循环和hasNext()方法来遍历集合,如下所示:
List<String> myList = new ArrayList<String>();
myList.add("apple");
myList.add("banana");
myList.add("orange");
Iterator<String> iterator = myList.iterator();
while(iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
在上面的例子中,我们首先获取了一个List的Iterator。然后,使用while循环和hasNext()方法遍历整个List,并在每次迭代中获取当前的元素并打印出来。
ListIterator是专门为List集合设计的遍历器。它继承了Iterator接口,并添加了一些额外的功能。与Iterator不同,ListIterator可以在List中前进和后退,也可以在List中添加和替换元素。
ListIterator的常见用法是使用while循环和hasNext()和hasPrevious()方法以及next()和previous()方法来遍历整个List,如下所示:
List<String> myList = new ArrayList<String>();
myList.add("apple");
myList.add("banana");
myList.add("orange");
ListIterator<String> iterator = myList.listIterator();
while(iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
while(iterator.hasPrevious()) {
String element = iterator.previous();
System.out.println(element);
}
在上面的例子中,我们首先获取了一个List的ListIterator。然后,使用while循环和hasNext()方法遍历整个List,并在每次迭代中获取当前的元素并打印出来。接下来,我们使用while循环和hasPrevious()方法和previous()方法反向遍历List,并在每次迭代中获取当前的元素并打印出来。
Iterator和ListIterator是Java集合框架中两个常用的遍历器。虽然它们都可以用来遍历集合,但它们之间有一些不同之处。Iterator可以用于遍历任何集合,包括List、Set、Queue和Map。而ListIterator是专门为List集合设计的遍历器,它可以在List中前进和后退,也可以在List中添加和替换元素。在使用时,需要根据需要选择合适的遍历器。