码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之迭代器模式

时间:2015-07-15 22:30:38      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

迭代器模式

提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露该对象的内部表示

Iterator

package com.hml.iterator;

public interface Iterator {

    public Object first();
    
    public Object next();
    
    public boolean hasNext();
    
    public Object curItem();
    
    public void add(Object o);
}

Aggregate

package com.hml.iterator;

import java.util.ArrayList;
import java.util.List;

public  class Aggregate implements Iterator {

    private List<Object> items = new ArrayList<Object>();
    private int count = 0;
    public Object first() {
        return items.get(0);
    }

    public Object next() {
        return items.get(++count);
    }

    public boolean hasNext() {
        return count < items.size();
    }

    public Object curItem() {
        return items.get(count);
    }

    public void add(Object o) {
        items.add(o);
    }
}

Test

package com.hml.iterator;

public class Test {
    public static void main(String[] args) {
        Aggregate a = new Aggregate();
        a.add(1);
        a.add(2);
        a.add(3);
        
        System.out.println(a.curItem());
        System.out.println(a.next());
        System.out.println(a.first());
        System.out.println(a.hasNext());
    }
}

类图
技术分享

当需要对聚合对象进行遍历时,可以考虑使用迭代器模式。

 

设计模式之迭代器模式

标签:

原文地址:http://www.cnblogs.com/heml/p/4649653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!