Iterator迭代器接口
Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。 GOF给迭代器模式的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 迭代器模式,就是为容器而生。
Collection接口继承了java.lang.Iterable接口,该接口有一个iterator()方法,那么所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。
- Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建Iterator 对象,则必须有一个被迭代的集合。
- 集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。
使用迭代器接口遍历集合元素
ArrayList<Integer> list = new ArrayList<>();
list.add(23);
list.add(34);
list.add(34);
list.add(6);
ListIterator<Integer> iterator = list.listIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
另外,只要是实现了Iterator接口的类的实例都可以使用foreach来遍历
for (Integer i:list) {
System.out.println(i);
}