Iterator浅析

来源:互联网 发布:戏剧打击乐器软件下载 编辑:程序博客网 时间:2024/06/08 11:54

一. 引子

    先来看一段我们编程时常用的代码:
    ListIterator<String> ite1 = list.listIterator();      while (ite1.hasNext()) {           String str = ite1.next();           System.out.println(str);      }

Iterator常用于实现对集合的遍历,它总是用同一种逻辑来遍历集合,使得编程者本身不需要维护集合的内部结构,所有的内部状态都由Iterator来维护,实现了访问代码与集合本身的松耦合。

二. 定义

    Iterator是java.util中的一个包,在JDK中的定义为:针对集合的一个迭代器。Iterator迭代器取代了Java Collections Framework中的Enumeration(枚举)接口,它与Enumeration接口有两点不同:      1.迭代器允许调用者从迭代器所指向的collection中移除元素;    2.方法名称得到了改进;

三. 方法

    Iterator接口中定义了三个方法,其定义如下:
    public interface Iterator<E> {        boolean hasNext();         E next();        void remove();      }  
    这三个方法的含义如下:    hasNext():如果迭代器中还有元素,返回true,(并指向下一个元素的索引,注:初始时指向第一个元素前的某个位置);    next():返回下一个元素,(并使指针指向下一个元素的索引,注:初始时指向第一个元素前的某个位置);    remove():删除集合中被迭代器刚越过的元素,(注:调用remove前需要调用next);

利用Iterator对集合中的元素进行遍历时,我们不必知道集合的内部结果,集合的内部结构、状态由Iterator来维持,并通过统一的方法hasNext()、next()来判断、获取下一个元素。

四、参考资料

  1. java提高篇(三十)—–Iterator
  2. Interface Iterator官网
0 0
原创粉丝点击