java迭代器模式例子
时间: 2023-09-05 13:11:41 浏览: 119
迭代器模式是一种行为设计模式,它提供一种访问集合对象元素的方法,而不暴露其底层表示。在Java中,迭代器模式非常常见,许多集合类都实现了迭代器接口。下面是一个简单的Java迭代器模式的例子:
```java
import java.util.Iterator;
// 定义一个接口用于访问和遍历集合中的元素
interface Iterator {
boolean hasNext();
Object next();
}
// 实现一个具体的迭代器类
class ConcreteIterator implements Iterator {
private int index = 0;
private String[] elements;
public ConcreteIterator(String[] elements) {
this.elements = elements;
}
public boolean hasNext() {
return index < elements.length;
}
public Object next() {
if (hasNext()) {
return elements[index++];
}
return null;
}
}
// 定义一个集合类
class Aggregate {
private String[] elements;
public Aggregate() {
elements = new String[]{"Element 1", "Element 2", "Element 3"};
}
// 获取迭代器实例
public Iterator createIterator() {
return new ConcreteIterator(elements);
}
}
// 客户端代码
public class Main {
public static void main(String[] args) {
Aggregate aggregate = new Aggregate();
Iterator iterator = aggregate.createIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
```
在上面的例子中,我们定义了一个`Iterator`接口,并实现了一个具体的迭代器类`ConcreteIterator`。`Aggregate`类是一个集合类,它返回一个迭代器实例。在客户端代码中,我们使用迭代器来遍历集合中的元素并打印出来。
请注意,这只是一个简单的迭代器模式的示例。在实际的开发中,Java提供了许多内置的集合类和迭代器实现,如`ArrayList`和`Iterator`接口的实现类。这些内置类已经实现了迭代器模式,因此我们可以直接使用它们而无需自己实现迭代器。
阅读全文