帮我用java写一个迭代器设计模式代码
时间: 2023-08-28 15:09:00 浏览: 102
好的,这是答案:
首先,需要定义一个接口,用于规范迭代器对象需要实现的方法:
```
public interface Iterator<T> {
boolean hasNext(); // 判断是否还有下一个元素
T next(); // 获取下一个元素
}
```
接下来需要定义一个可迭代对象的接口,用于规范可迭代对象需要实现的方法:
```
public interface Iterable<T> {
Iterator<T> iterator(); // 获取迭代器对象
}
```
接下来,我们使用一个示例来说明如何使用迭代器设计模式。定义一个迭代器内部类,并在外部类中实现Iterable接口:
```
import java.util.ArrayList;
public class IterableClass<T> implements Iterable<T> {
private ArrayList<T> list = new ArrayList<>();
// 添加元素
public void add(T t) {
list.add(t);
}
// 获取元素
public T get(int index) {
return list.get(index);
}
// 获取元素数量
public int size() {
return list.size();
}
// 获取迭代器对象
@Override
public Iterator<T> iterator() {
return new Iterator<T>() {
private int index = 0;
@Override
public boolean hasNext() {
return index < list.size();
}
@Override
public T next() {
return list.get(index++);
}
};
}
public static void main(String[] args) {
IterableClass<String> iterableClass = new IterableClass<>();
iterableClass.add("hello");
iterableClass.add("world");
iterableClass.add("java");
// 使用for循环遍历元素
for (String str : iterableClass) {
System.out.println(str);
}
}
}
```
最后我们运行main方法,得到以下结果:
```
hello
world
java
```
以上是一个简单的迭代器设计模式的Java代码示例,希望能够对您有所帮助。
阅读全文