美文网首页小实验
Iterator的使用

Iterator的使用

作者: 暑水 | 来源:发表于2019-06-03 19:21 被阅读0次

    Iterator(迭代器)是一个接口,它的作用就是遍历容器的所有元素。
    Iterator iter = list.iterator(); // 注意iterator,首字母小写

    一、Iterator接口简介

    iterator是为了实现对Java容器(collection)进行遍历功能的一个接口。
    在iterator实现了Iterator接口后,相当于把一个Collection容器的所有对象,做成一个线性表(List),而iterator本身是一个指针,开始时位于第一个元素之前。

    Iterator的三个主要方法

    1.1 Boolean hasNext();

    判断 iterator 内是否存在下1个元素,如果存在,返回true,否则返回false。(注意,这时上面的那个指针位置不变)

    1.2 Object next();

    返回 iterator 内下1个元素,同时上面的指针向后移动一位。
    故,如果不断地循环执行next()方法,就可以遍历容器内所有的元素了。

    1.3 void remove();

    删除 iterator 内指针的前1个元素,前提是至少执行过1次next();
    (这个方法不建议使用,建议使用容器本身的romove 方法)

    二、Iterator 接口的意义

    遍历1个ArrayList 和Linklist是十分容易的,遍历1个Tree容器也不难,但是实现机制是完全不同,而遍历1个Set容器就无从下手了。
    所以Java设计了Iterator 这个接口,分别让各种容器自己去重写里面的hasNext()和next()方法。
    不用关心各种容器的遍历机制,只要使用Iterator,会让人觉得各种容器的遍历方法都是一样的,这就是Java接口的重要意义。

    三、如何使用Iterator

    在Java的各种容器中,例如ArrayList,HashSet等,并没有直接实现Iterator这个接口。所以ArrayList,HashSet容器内是没有hasnext(),next()的方法的,而是iterator() 这个方法,返回1个实现了Iterator接口的iterator对象。

    相关文章

      网友评论

        本文标题:Iterator的使用

        本文链接:https://www.haomeiwen.com/subject/jnvwaqtx.html