为什么要有迭代器Iterator,Iterable和Iterator关系?集合结构图

本文探讨了Java中Iterable接口与Iterator接口的关系及其重要性。Iterable接口使得所有集合可迭代,支持增强型for循环,而Iterator接口提供统一的遍历方式,解耦合集合内部结构。拥有Iterable接口,每次调用iterator()都会返回新的、从头开始的迭代器,避免遍历时的干扰。
摘要由CSDN通过智能技术生成

其中矩形是指接口,椭圆形是指实现类。

Iterable接口

Collection继承了Iterable接口,这表明所有集合元素都是可迭代的,可遍历的。就可以实现加强for循环。这个接口里面有一个iterator()方法,返回一个类型为T的迭代器。

比如

ts.iterator()就会返回一个Iterator<String>类型的迭代器。
 public static void main(String[] args) {

        HashSet<String> hs = new HashSet<>();
        TreeSet<String> ts = new TreeSet<>();
        hs.add("a");
        hs.add("b");
        ts.add("c");
        display(hs.iterator());
        display(ts.iterator());
    }
    private static void display(Iterator<String> it){
        int count = 0;
        while(it.hasNext()){
            count++;
            String s = it.next();
            System.out.println(s);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值