代理模式七:迭代器模式
阿新 • • 發佈:2021-08-19
簡介
提供一種方法順序訪問一個容器物件中的各個元素,而又不需要暴露該物件的內部表示。
使用場景
該模式JAVA一般都給我們已經實現,並不需要自己去實現
程式碼
該模式僅需類實現Iterable介面,然後提供一個實現Iterator介面的例項,最終提供hasNext()、next()方法。
- 實體類
public class Student implements Serializable { private String name; private Integer age; public Student(String name, Integer age) { this.name = name; this.age = age; } }
- 實現Iterable介面類
public class Animal implements Iterable<Student>{ private final List<Student> students=new ArrayList(); public Animal(){ students.add(new Student("張三",12)); students.add(new Student("李四",15)); students.add(new Student("王五",19)); } @Override public Iterator<Student> iterator() { return new Itr(); } private class Itr implements Iterator<Student> { int index=0; @Override public boolean hasNext() { if (index<students.size()){ return true; } return false; } @Override public Student next() { Student student = students.get(index); index++; return student; } } }
Gitee地址
https://gitee.com/zhuayng/foundation-study.git
參考
https://blog.csdn.net/ShuSheng0007/article/details/117903838
XFS