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

      

  • 相关阅读:
    [转]如何选购塑料水杯(塑料口杯、茶杯)
    【转】在sqlserver下增加MYSQL的链接服务器,实现分布式数据库开发第一步
    MySql: 查看当前登录用户,当前数据库
    python import, from xx import yy
    python class metaclass instance
    git: fatal: Not a git repository (or any of the parent directories): .git
    Python flask 基于 Flask 提供 RESTful Web 服务
    Python flask @app.route
    MySql: log 位置
    MySql: 忘记root密码
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11724298.html
Copyright © 2011-2022 走看看