![77acb5e3e9f6f8d93ae7014069362818.png](https://img-blog.csdnimg.cn/img_convert/77acb5e3e9f6f8d93ae7014069362818.png)
- Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。
- Iterator对集合只能是前向遍历,ListIterator即可以前向也可以后向。
- ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素、替换元素、获取前一个和后一个元素的索引等。
举例:
public class ListTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("北京");
list.add("上海");
list.add("广州");
list.add("深圳");
System.out.println("List: " + list);
// Get the list iterator
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
int index = iterator.nextIndex();
String element = iterator.next();
System.out.println("Index=" + index + ", Element=" + element);
}
// Reuse the iterator to iterate from the end to the beginning
while (iterator.hasPrevious()) {
int index = iterator.previousIndex();
String element = iterator.previous();
System.out.println("Index=" + index + ", Element=" + element);
}
List<String> synchronizedList = Collections.synchronizedList(list);
synchronizedList.add("杭州");
synchronizedList.add("苏州");
synchronizedList.forEach(System.out::println);
}
}
《JAVA面试机经基础篇》 郭屹老师著
![eec46987dedcb1c171437b640eb407d0.png](https://img-blog.csdnimg.cn/img_convert/eec46987dedcb1c171437b640eb407d0.png)
欢迎搜索关注公众号 爪哇河谷
或添加我的微信 领取更多干货
![17256b070dcec003eeec1fdbd32bba4f.png](https://img-blog.csdnimg.cn/img_convert/17256b070dcec003eeec1fdbd32bba4f.png)