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();
    }
    

      

  • 相关阅读:
    Delphi XE2 之 FireMonkey 入门(13)
    Delphi XE2 之 FireMonkey 入门(12)
    Delphi XE2 之 FireMonkey 入门(11)
    svn泄漏敏感信息利用方式
    提取windows用户明文密码
    firefox中outlook.com页面卡顿的原因
    漏洞的定义
    Hydra--密码破解的神器
    数据库设计那些事(数据库范式)
    数据库范式
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11724298.html
Copyright © 2011-2022 走看看