简述什么是迭代器(Iterator)?
迭代器(Iterator)是一种用于遍历容器或数据结构的抽象概念。它提供了一种统一的方式来访问容器中的元素,无论容器的具体实现方式如何。通过迭代器,我们可以按照特定顺序逐个访问容器中的元素,而不需要暴露容器的内部结构。
在Java中,Iterator接口也是Java集合框架的成员之一。它定义了一个用于遍历Collection集合中元素的标准方法集,包括hasNext()、next()和remove()等方法。使用这些方法,我们可以方便地遍历集合中的元素,并在需要时从集合中删除元素。
需要注意的是,迭代器只能用于遍历集合中的元素,而不能用于修改集合的结构(如添加或删除元素)。如果需要修改集合的结构,必须通过集合本身提供的方法进行操作。
举个例子,假设我们有一个存储整数的ArrayList对象,我们可以使用迭代器来遍历其中的元素并打印出来:
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorExample {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
Iterator<Integer> iterator = numbers.iterator();
while (iterator.hasNext()) {
Integer number = iterator.next();
System.out.println(number);
}
}
}
在这个例子中,我们首先创建了一个存储整数的ArrayList对象,并向其中添加了三个元素。然后,我们获取了该ArrayList对象的迭代器,并使用while循环遍历了其中的元素。在每次循环中,我们使用next()方法获取下一个元素,并使用System.out.println()方法将其打印出来。