Java Iterator 怎么使用?有什么特点?
时间: 2024-04-11 10:28:29 浏览: 171
Java Iterator 是用于遍历集合类(如 List、Set、Map 等)中元素的接口。它提供了一种统一的方式来访问集合中的每个元素,而不需要了解底层数据结构的细节。
使用 Iterator 的一般步骤如下:
1. 使用集合类的 iterator() 方法获取 Iterator 对象。
2. 使用 hasNext() 方法检查是否还有下一个元素。
3. 使用 next() 方法获取下一个元素。
4. 可选地使用 remove() 方法删除当前元素。
Iterator 的特点包括:
1. 只能向前遍历:Iterator 接口定义了 hasNext() 方法来判断是否还有下一个元素,以及 next() 方法来获取下一个元素。它不支持逆向遍历或随机访问。
2. 快速失败:如果在使用 Iterator 迭代过程中,集合发生结构性修改(例如添加或删除元素),则会抛出 ConcurrentModificationException 异常,以保证遍历的安全性。
3. 只读:Iterator 接口的 remove() 方法可以用于删除当前迭代器指向的元素,但不能用于修改集合中的元素本身。
下面是一个使用 Iterator 遍历 List 的示例代码:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
```
这段代码会依次输出 "A"、"B"、"C"。注意,在遍历过程中不要直接使用集合的 remove() 方法删除元素,而是使用 Iterator 的 remove() 方法来删除当前迭代器指向的元素。
阅读全文