Java_迭代器_浅析
博客专区 > Ieenben 的博客 > 博客详情
Java_迭代器_浅析
Ieenben 发表于3年前
Java_迭代器_浅析
  • 发表于 3年前
  • 阅读 27
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: Java迭代器主要为java中数据容器提供公共的操作接口;使用Java的迭代器Iterator可以使得对容器的遍历操作完全与其底层相隔离,可以到达极好的解耦效果。

0、迭代器用法:

List<T> list = new ArrayList<T>();
/*
*list的相关操作;
*/
Iterator<T> iterator= list.iterator();
while(iterator.hasNext()){
    T o=iterator.next();
    //iterator.remove();
}


1、Java迭代器提供的接口定义:java.lang.Iterable;

public interface Iterable<T> {//jdk源码
    Iterator<T> iterator();
}

常用的数据容器,如ArrayListHashSetStackVector等等都是实现了该接口;

2、Iterator迭代器介绍:java.util.Iterator;

先说说Iterator跟Iterable的区别;

    Iterable<T>是迭代器与数据容器的接口,即数据容器要使用Iterator,就必须实现Iterable;

    Iterator<T>是迭代器的接口,须实现hasNext(),next(),remove(),三个元素方法;

为什么在Iterable接口里面的方法不是直接定义三个方法?

     这种方法不具备多态性,即设定好了该如何执行hasNext()等操作,而且程序会显得十分的臃肿和复杂。但是如果采用实施Iterable()接口和返回Iterator对象的方式,则会全然的不同,只要能够返回Iterator对象,完全可以自己的需要进行遍历方式上的自由定义。

    

共有 人打赏支持
粉丝 5
博文 33
码字总数 5025
×
Ieenben
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: