1.迭代器的定义(Iterator)
由于我们所熟知的例如HashSet、LinkedList的内部结构不同,很多时候可能不知道该怎样去遍历其中的元素。所以为了使对不同集合类的内部元素的操作更为简单,Java才引入了迭代器模式!
迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。这种设计模式不仅可以提供方法对一个容器对象中的各个元素进行访问,同时又不暴露该对象容器的内部细节。
2.运用迭代器
(1)迭代器接口定义如下:
package java.util
public interface Iterator<E> {
boolean hasNext(); //判断是否存在下一个对象元素
E next(); //获得下一个元素
void remove(); //移除元素
}
(2)具体操作:
使用方法iterator()要求容器返回一个Iterator。当我们第一次调用Iterator的next()方法时,它返回序列的第一个元素。
使用next()获得序列中的下一个元素。
使用hasNext()检查序列中是否还有元素。
使用remove()将迭代器新返回的元素删除。
代码如下:
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
String temp = iter.next();
System.out.println(temp);
}
与此同时,要注意,在使用Iterator的时候禁止对所遍历的对象进行改变其大小结构的操作。