当前位置: 首页 > news >正文

邢台做移动网站价格表it培训

邢台做移动网站价格表,it培训,搜索引擎优化实训心得,如何复制国外网站模板简介 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部实现。(Java中使用最多的设计模式之一) UML图 应用场景 Java的集合对象:Collection、List、Map、Set等都有迭代器Java ArrayList的迭代器源码 示例 简…

简介

提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部实现。(Java中使用最多的设计模式之一)

UML图

在这里插入图片描述

应用场景
  • Java的集合对象:Collection、List、Map、Set等都有迭代器
  • Java ArrayList的迭代器源码
    在这里插入图片描述

示例

简单实现集合中的迭代器功能

  1. Iterator:
public interface Iterator {/*** 是否有下个元素** @return*/boolean hasNext();/*** 当前元素** @return*/Object next();/*** 删除元素** @param obj*/void remove(Object obj);
}
public class ListIterator implements Iterator {private List list;/*** 索引*/private int index = 0;public ListIterator(List list) {this.list = list;}@Overridepublic boolean hasNext() {return index != list.size();}@Overridepublic Object next() {Object obj = null;if (hasNext()) {obj = list.get(index);index++;}return obj;}@Overridepublic void remove(Object obj) {list.remove(obj);}
}
  1. Aggregate:
public interface ICollection {/*** 添加元素** @param obj*/void add(Object obj);/*** 删除元素** @param obj*/void remove(Object obj);/*** 迭代元素** @return*/Iterator iterator();
}
public class ListCollection implements ICollection {private List list = new ArrayList();@Overridepublic void add(Object obj) {list.add(obj);}@Overridepublic void remove(Object obj) {list.remove(obj);}@Overridepublic Iterator iterator() {return new ListIterator(list);}
}

3.运行

public class Main {public static void main(String[] args) {ListCollection listCollection = new ListCollection();listCollection.add("aaaaaa");listCollection.add("bbbbbb");listCollection.add("cccccc");listCollection.add("dddddd");// 创建迭代器Iterator iterator = listCollection.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}
}

在这里插入图片描述

总结

  • 优点

    • 可以不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据
    • 支持以不同的方式遍历一个聚合对象
  • 缺点

    • 对于比较简单的遍历如数组、有序列表,该方式实现比较繁琐
    • 在遍历的同时更改迭代器所在的集合结构会导致异常
http://www.zhongyajixie.com/news/65882.html

相关文章:

  • 奥运网站模板网站批量收录
  • 思明自助建站软件google app下载
  • 江苏做网站公司有哪些合肥网站推广公司
  • 服装网站建设开发语言互联网营销公司
  • 牡丹江网站seo优化设计三年级上册答案
  • 中国机械加工最多的地方丁的老头seo博客
  • 广州网站建设联系电话如何优化网络延迟
  • 网站备案需要审核多久百度登录
  • 如何创建一个网站用来存放东西怎么建立自己的网站平台
  • 网站建设图文网站权重什么意思
  • 服装手机商城网站建设百度站长平台有哪些功能
  • 关于合肥的网站好百度seo不正当竞争秒收
  • 能源公司网站建设刷关键词优化排名
  • 淮北 网站建设关键词的分类和优化
  • 购物网站开发会遇到的的问题seo整站优化更能准确获得客户
  • 政府网站建设与管理蔡seo做得比较好的企业案例
  • Wordpress需要更新吗广州网络seo公司
  • 市政道路毕业设计代做网站温州网站快速排名
  • 做内网网站教程全球网站流量排名100
  • c语言除了做网站还能干什么app开发网站
  • 公司响应式网站建设报价北京、广州最新发布
  • 电子产品网站建设模板整站优化方案
  • 网页网站培训班谷歌海外广告投放推广
  • 免费做网站的方法专业seo培训
  • 网站开发需要什么专业知识专业网站seo推广
  • flash 做网站教程新东方烹饪培训学校
  • 产品素材网站友链交换有什么作用
  • 搭建网站大概需要多少钱各大网站提交入口网址
  • 关闭网站弹窗代码贴吧高级搜索
  • 外贸网站建设规划什么是seo网站优化