zoukankan      html  css  js  c++  java
  • Java迭代器

    java迭代器就是提供一个方法对容器中各个对象进行访问,而又不暴露该对象该对象容器的内部实现细节。

    Java集合框架的集合类,我们有时候称之为容器。容器的种类有很多种,比如ArrayList,LinkedList,HashSet等等,每种容器都有自己的特点,ArrayList底层维护的是一个数组,LinkedList是链表的结构,HashSet依赖的是哈希表,每种容器都有自己特有的数据结构。

    因为容器的内部结构不同,很多时候可能不知道该怎么样去遍历一个容器中的元素。所以为了使对容器内元素的操作更为简单,Java引入了迭代器模式。

    1.1.1 Java.util.Iterator

    在Javak ,Iterator为一个接口,它只提供了迭代的基本规则。在JDK中它是这样定义的:对Collection进行迭代的迭代器。在迭代器取代了Java Collection Framework中的Enumeration。迭代器与枚举有两点不同:

    1.迭代器在迭代期间可以从集合中移除元素

    2.方法名得到了改进,Enumeration的方法名称都比较长。

    其接口定义如下:

    public interface Iterator<E> {
        boolean hasNext();
        E next();
        void remove();
    }
    

      2.Iterable

    Java中还提供了一个Iterable接口,Iterable接口实现后的功能是“返回”一个迭代器。我们常用的实现了该接口的子接口有:Collection<E>、List<E>、set<E>等。该接口的iterator()方法返回一个标准的Iterator实现。实现Iterable接口允许对象成为Foreach语句的目标。

    Iterable接口包含一个能产生Iterator对象的方法,并且Iterable被foreach用来在序列中移动。如果创建了实现Iterable接口的类,都可以将它用于foreach中。

    public interface Iterable<T> {
        Iterator<T> iterator();
    }
    

      

  • 相关阅读:
    20151010 C# 第一篇 变量类型
    20151009 C# 第一篇 程序编写规范
    20151009 C# 第一篇 基础知识
    VS 控件命名规范
    Replace Pioneer 续用2
    bcb安装控件方法汇总
    Unresolved external 'LresultFromObject'
    Form居中显示
    C++Builder 中 Enter键或者Tab键无效
    解决Ubuntu鼠标右键无反应
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11724298.html
Copyright © 2011-2022 走看看