zoukankan      html  css  js  c++  java
  • 迭代器模式

    迭代器模式

    迭代器模式又叫做游标模式,提供一种方法访问容器元素中各个对象,而又不暴露该对象的内部细节。

    迭代器的涉及的角色:

    1.迭代器角色

    负责定义访问和遍历元素的接口

    2.具体迭代器角色

    实现迭代器接口,并要记录遍历中的当前位置

    3.容器角色

    负责提供创建具体迭代器角色的接口

    4.具体容器角色

    实现创建具体迭代器角色的接口,这个具体迭代器角色与该容器的结构相关

    迭代器在jdk中的应用

    对于Arraylist和linkedlist,我们可以通过for循环然后get到里面的元素,但是比如hashset,里面没有提供get方法,那么久只能通过iterator去获取。

    只要集合实现了iterable接口,都可以通过iterator遍历。 

    Iterable和Iterator接口

    两个都是迭代相关的接口,实现了Iterable接口,表示某个对象是可被迭代的;Iterator接口相当于一个迭代器,实现了Iterator接口,等于具体定义了这个可被迭代的对象是如何进行迭代的。

    迭代器模式的优缺点

    优点

    1.封装性好,用户只需要得到迭代器就可以遍历,不用去关心算法是怎么样的。

    2.简化遍历方式。

    缺点

    效率不高

  • 相关阅读:
    Linux就该这么学28期——Day03 2.4-2.7
    Linux就该这么学28期——Day02 2.1-2.3
    Linux就该这么学28期——开篇
    层次遍历应用

    二叉树
    Linux 随手记录
    KMP算法详解(转)
    使用MySQL connector/C++链接MySQL数据库
    C++ 代码片段
  • 原文地址:https://www.cnblogs.com/tp123/p/6498451.html
Copyright © 2011-2022 走看看