17-迭代器模式

17-迭代器模式

1.迭代器模式

  1. 迭代器模式服务端
public interface Iterator<E> {

    boolean hasNext();
    E next();
}

public class ArrayIterator<E> implements Iterator<E> {
    private int cursor;
    private final ArrayList<E> arrayList;

    public ArrayIterator(ArrayList<E> arrayList) {
        this.cursor = 0;
        this.arrayList = arrayList;
    }

    @Override
    public boolean hasNext() {
        return cursor != arrayList.size();
    }

    @Override
    public E next() {
        return arrayList.get(cursor++);
    }
}
  1. 迭代器模式客户端。
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
ArrayIterator<Integer> arrayIterator = new ArrayIterator<>(list);
while (arrayIterator.hasNext()) {
    System.out.println(arrayIterator.next());
}

2.迭代器模式总结

  1. 迭代器模式主要用于将集合的遍历操作从集合中拆分出来,放到迭代器中,让集合和迭代器的职责变得单一。
posted @ 2022-11-27 08:55  行稳致远方  阅读(15)  评论(0)    收藏  举报