迭代器模式(Iterator)

迭代器模式,提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。
JDK中已经为我们设计好了一套完善的迭代器------java.util.Iterator。通过这个包名可以发现所谓的迭代器之前是一种工具,这个工作提供的功能就是用来顺序访问一个聚合对象中的各种元素。

/**
 * 迭代器模式,使用JDK中的Iterator
 * 这里的聚合元素指的就是List<String>Set<Integer>,当然也可以是其他类型
 * 通过统一封装的方法,来访问不同的聚合元素:hasNext()方法判断是否有下一个元素,iterator.next()方法获取下一个元素
 * 不暴露该对象的内部表示:不管这里是StringInteger或者其他任务类型,通过迭代器模式不用关心内部表示
 * @param args
 */
public static void main(String[] args) {
    List<String> list = Arrays.asList("a","b","g","s","t");
    Iterator it = list.iterator();
    while (it.hasNext()){
        System.out.println(it.next());
    }

    System.out.println("---------------------");

    Set<Integer> set = new HashSet<Integer>();
    set.add(1);
    set.add(2);
    set.add(3);
    set.add(4);
    Iterator iterator = set.iterator();
    while (iterator.hasNext()){
        System.out.println(iterator.next());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值