迭代器模式(Iterator)
迭代器模式提供一种统一的方法顺序的访问内部数据,使得不同的数据类型也可以使用统一付方法进行遍历。
声明接口
public interface Iterator {
Boolean hasNext();
Object next();
}
内部类
public class News<T> {
List<T> list;
public News() {
list = new ArrayList<>();
}
public void add(T t) {
list.add(t);
}
public void get(int i) {
list.get(i);
}
public Iterator iterator() {
return new NewsIterator();
}
public class NewsIterator implements Iterator {
int index = 0;
@Override
public Boolean hasNext() {
return list.size() > index;
}
@Override
public Object next() {
return list.get(index++);
}
}
}
使用
public class MyClass {
public static void main(String[] args){
News<String> news=new News<>();
news.add("aa");
news.add("ddd");
news.add("ccc");
Iterator iterator=news.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
备忘录模式
使用一个对象保存另一个对象的数据。