迭代器 Iterator :是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象。开发者不需要了解该序列的底层结构,迭代器被称为“轻量级”对象,因为创建它的代价很小。
java中的迭代器很简单,并且只能单项移动:
(1)使用方法iterator()要求容器返回一个Iterator,第一次调用iterator的next()方法,将返回序列的第一个元素。(iterator()方法是java.lang.Iterable接口,被Collection继承。)
(2)调用next()方法获得序列中的下一个对象。
(3)调用hasnext()方法判断是否还有下一个元素
(4)使用remove()将迭代器新返回的元素删除
Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素
Iterator和ListIterator的区别:
(1)Iterator可以遍历list集合和set集合,ListIterator只能遍历list集合
(2)Iterator对集合只能是前向遍历,ListIterator可以前向遍历或者后向遍历
(3)ListIterator实现了Iterator接口,并增加了其他功能,比如增加元素,替换元素,获取前一个或后一个元素的索引等等。