迭代器(Iterator)是Java集合框架中的一个接口,它提供了一种统一的方式来遍历(迭代)集合中的元素,而不用暴露集合内部的实现细节。使用迭代器,可以在不知道集合底层结构的情况下,按顺序访问集合中的每个元素。
Iterator
接口定义了以下几个主要的方法:
boolean hasNext()
: 判断是否还有下一个元素可供迭代,如果有则返回true
。E next()
: 返回集合中的下一个元素,并将迭代器的指针移动到下一个位置。void remove()
: 从集合中移除通过迭代器最后一次返回的元素,可选操作。
使用迭代器的一般模式是使用 hasNext()
方法检查是否有下一个元素,然后使用 next()
方法获取下一个元素。这个过程可以在循环中重复,直到没有更多元素可供迭代。
以下是使用迭代器遍历集合的示例:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
// 使用迭代器遍历集合
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
}
}
在上述示例中,list.iterator()
返回了一个 Iterator
对象,然后使用 while
循环和 hasNext()
、next()
方法遍历集合中的元素。
迭代器提供了一种在遍历时移除元素的机制,但需要注意的是,并非所有的集合都支持 remove()
操作,具体取决于集合的实现。在使用 remove()
时,应注意遵循集合的规范和迭代器的要求。