在Java中,迭代器模式是一种设计模式,它使你能够遍历一个聚合对象(如列表或集合)的元素,而无需暴露该对象的内部表示。以下是如何在Java中自定义集合并使用迭代器模式实现的一个简单示例:
Iterator
,它包含两个主要方法:hasNext()
和next()
。public interface Iterator {
boolean hasNext();
Object next();
}
MyCollection
,它包含一个用于存储元素的列表。在这个例子中,我们将使用一个简单的ArrayList
。import java.util.ArrayList;
import java.util.List;
public class MyCollection {
private List<Object> elements;
public MyCollection() {
elements = new ArrayList<>();
}
public void add(Object element) {
elements.add(element);
}
public Iterator iterator() {
return new MyIterator();
}
}
Iterator
接口的MyIterator
类。这个类需要维护一个当前元素的索引,并在调用next()
方法时返回下一个元素。public class MyIterator implements Iterator {
private int currentIndex;
private MyCollection collection;
public MyIterator() {
currentIndex = 0;
collection = (MyCollection) this.collection;
}
@Override
public boolean hasNext() {
return currentIndex < collection.elements.size();
}
@Override
public Object next() {
if (!hasNext()) {
throw new RuntimeException("No more elements to iterate");
}
return collection.elements.get(currentIndex++);
}
}
MyCollection
对象,添加一些元素,并使用迭代器遍历它们。public class Main {
public static void main(String[] args) {
MyCollection collection = new MyCollection();
collection.add("A");
collection.add("B");
collection.add("C");
Iterator iterator = collection.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
这个示例展示了如何在Java中自定义集合并使用迭代器模式实现。当然,这只是一个简单的例子,实际应用中可能需要根据具体需求进行扩展和调整。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。