遍历聚合对象中的元素——迭代器模式(四)

    1. class ProductList extends AbstractObjectList {
    2. public ProductList(List products) {
    3. super(products);
    4. }
    5. public AbstractIterator createIterator() {
    6. return new ProductIterator();
    7. }
    8. //商品迭代器:具体迭代器,内部类实现
    9. private class ProductIterator implements AbstractIterator {
    10. private int cursor1;
    11. private int cursor2;
    12. cursor2 = objects.size() -1;
    13. }
    14. public void next() {
    15. if(cursor1 < objects.size()) {
    16. cursor1++;
    17. }
    18. }
    19. public boolean isLast() {
    20. return (cursor1 == objects.size());
    21. }
    22. public void previous() {
    23. }
    24. }
    25. public boolean isFirst() {
    26. return (cursor2 == -1);
    27. }
    28. public Object getNextItem() {
    29. return objects.get(cursor1);
    30. }
    31. public Object getPreviousItem() {
    32. return objects.get(cursor2);
    33. }