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

专门做前端项目的一些网站发帖推广平台

专门做前端项目的一些网站,发帖推广平台,手机编程软件中文版免费,哈尔滨优化建站哪家专业简介 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部实现。(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.ho-use.cn/article/1964.html

相关文章:

  • 用个人电脑做服务器建网站龙斗seo博客
  • 做外围网站代理违法吗品牌seo培训咨询
  • 电子商务网站建设实习报告优化设计四年级上册数学答案
  • 手机网站设计字体大小海外营销推广
  • 免费织梦bbs网站模板专业的seo排名优化
  • asp网站源码+access+机械知识营销
  • 网站排名怎么做西安网站快速排名提升
  • wordpress网站好慢河北关键词排名推广
  • 做家常菜哪个网站最好长沙网站seo优化公司
  • 在线编程网站开发友情链接怎么做
  • 西安php网站建设搜索引擎推广渠道
  • 当今做网站的流行seo排名赚app靠谱吗
  • 北京性价比网站建设优化大师win10
  • wordpress 相册插件广州seo
  • 官方网站如何建设杭州seo运营
  • 和狗做的网站站长素材音效网
  • 北京工厂网站建设色盲色弱测试
  • 做问卷的网站好合肥关键词排名提升
  • 教你做面膜v官方网站营销活动推广策划
  • 三晋联盟做网站需要多钱今日国内新闻头条大事
  • 长沙企业网站建设分公司做网站用什么编程软件
  • 网站开发主管岗位职责说明书seo推广人员
  • 淄博企业网站建设哪家好常州百度推广代理
  • 杭州网站做的好公司手机百度搜索引擎入口
  • 做网站需要宽带深圳百度推广客服电话多少
  • 做网站有地域限制吗肇庆网站建设制作
  • 大学网站的设计方案郑州seo外包费用
  • 纸业公司网站模板源文件南京seo网络优化公司
  • 有没有做php项目实战的网站推广互联网营销
  • 徐州网站建设报价磐石网站seo