迭代器模式 (Iterator Pattern)
提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
public class Main { public static void main(String[] args) { // 使用 NameRepository 来获取迭代器,并打印名字 NameRepository namesRepository = new NameRepository(); Iterator iter = namesRepository.getIterator(); while(iter.hasNext()) { String name = (String)iter.next(); System.out.println("Name : " + name); } } } interface Iterator { public boolean hasNext(); public Object next(); } // Container中含有一个迭代器 interface Container { public Iterator getIterator(); } class NameRepository implements Container { public String[] names = {"Robert" , "John" ,"Julie" , "Lora"}; @Override public Iterator getIterator() { return new NameIterator(); } // 内部迭代器类 private class NameIterator implements Iterator { int index; @Override public boolean hasNext() { if(index < names.length) { return true; } return false; } @Override public Object next() { if(this.hasNext()) { return names[index++]; } return null; } } }
标签:
设计模式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了