java迭代器demo
时间: 2024-09-15 08:00:36 浏览: 49
在Java中,迭代器(Iterator)是一种设计模式,用于遍历集合中的元素,而无需暴露集合的具体实现细节。这里是一个简单的Java集合(例如ArrayList)迭代器的示例:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorDemo {
public static void main(String[] args) {
// 创建一个ArrayList
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
// 创建一个迭代器
Iterator<String> iterator = fruits.iterator();
// 使用迭代器遍历数组
while (iterator.hasNext()) {
String fruit = iterator.next();
System.out.println(fruit);
}
// 检查是否还有更多元素
if (iterator.hasNext()) {
System.out.println("hasNext is " + iterator.hasNext());
}
// 删除元素后,再试图访问它会抛出IllegalStateException
iterator.remove(); // 这里删除了一个元素,然后尝试再次next()
try {
iterator.next();
} catch (Exception e) {
System.out.println("Cannot access removed element after removing.");
}
}
}
```
在这个例子中,我们首先创建了一个`fruits`列表,然后通过`iterator()`方法获取其迭代器。`hasNext()`方法检查是否有下一个元素可以遍历,`next()`方法返回并移除当前元素。当试图访问已经被删除的元素时,如果没有捕获异常会发生`IllegalStateException`。
阅读全文