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

做游戏女角色去衣的网站优化营商环境应当坚持什么原则

做游戏女角色去衣的网站,优化营商环境应当坚持什么原则,东莞企业网站多少钱,广州又有新冠肺炎了吗前言 迭代器模式又称为游标模式,源于对容器的访问,比如java中的List、Map、数组等,提供一个合理的遍历访问。用法就是在用户访问类,和容器之间插入一个迭代器,提供遍历访问。这样做可以让容器功能保持单一&#xff0c…

前言

迭代器模式又称为游标模式,源于对容器的访问,比如java中的List、Map、数组等,提供一个合理的遍历访问。用法就是在用户访问类,和容器之间插入一个迭代器,提供遍历访问。这样做可以让容器功能保持单一,不用在容器内实现遍历功能。也不用对外提供内部访问方法导致细节暴露。

迭代器模式定义

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。

例子

废话再多,也不如一个例子来的干脆。
1、先写一个迭代器
抽象迭代器方法

public interface Iterator<T> {boolean hasNext();T next();
}

实现迭代器

public class IteratorImpl<T> implements Iterator<T> {private List<T> list = new ArrayList<T>();private int cursor = 0;public IteratorImpl(List<T> list) {this.list = list;}@Overridepublic boolean hasNext() {return cursor != list.size();}@Overridepublic T next() {T obj = null;if (this.hasNext()) {obj = this.list.get(cursor++);}return obj;}
}

迭代器核心其实就是给带入的list提供一个遍历的方法。
2、写一个容器
抽象容器方法

public interface Container<T> {void add(T obj);void remove(T obj);Iterator<T> iterator();
}

实现容器

public class ContainerImpl<T> implements Container<T> {private List<T> list = new ArrayList<T>();@Overridepublic void add(T obj) {list.add(obj);}@Overridepublic void remove(T obj) {list.remove(obj);}@Overridepublic Iterator<T> iterator() {return new IteratorImpl<>(list);}
}

我们使用容器的时候,只要提供一个构建迭代器的方法就可以了。迭代器自行对外提供遍历方法。
3、客户端调用

        // 创建一个容器ContainerImpl<String> containerImpl = new ContainerImpl<>();containerImpl.add("jack");containerImpl.add("mom");containerImpl.add("dad");containerImpl.add("john");// 根据容器创建一个迭代器Iterator<String> iterator = containerImpl.iterator();// 迭代器提供遍历方法,遍历while (iterator.hasNext()) {Log.d("Iterator",iterator.next());}

log输出如下:

11-26 19:01:43.249 28429-28429/com.yink.designpattern.designpattern D/Iterator: jack
11-26 19:01:43.249 28429-28429/com.yink.designpattern.designpattern D/Iterator: mom
11-26 19:01:43.249 28429-28429/com.yink.designpattern.designpattern D/Iterator: dad
11-26 19:01:43.249 28429-28429/com.yink.designpattern.designpattern D/Iterator: john

迭代器模式小结

迭代器模式结构很简单,就是提供一个list的遍历方法。目的很明确,弱化遍历算法和容器之间的关系。其实我们平时开发之中已经很少需要自己去实现迭代器,因为现在不管是Object,C++,python等等,他们直接实现了这种结构。但是理解这种设计模式也是不错的。像Android源码中数据库中的游标Cursor也是用的这种结构。

结束语

迭代器模式比较简单,也没啥多说的,最后强调迭代器模式记忆要点:根据传入的list额外提供一个遍历方法。

http://www.dtcms.com/wzjs/304462.html

相关文章:

  • 海珠做网站公搜狗站长工具综合查询
  • 做宠物网站心得网络推广平台排名
  • 网站建设维护费合同wordpress免费建站
  • 湖南企业建网站沈阳关键词快照优化
  • 高唐网站开发优化关键词的方法有哪些
  • 做网站博彩代理违法吗网络营销实施方案
  • 网站编辑怎么赚钱百中搜
  • 黄岐做网站网站推广的意义和方法
  • 今天北京疫情最新情况正版seo搜索引擎
  • 海南三亚做网站怎么网上宣传自己的产品
  • 品牌建设不断深化网站推广与优化平台
  • 在58同城做网站怎么样在线子域名二级域名查询工具
  • 人妖手术怎么做的视频网站凡科建站登录
  • 网站建设功能选择表域名状态查询工具
  • 北京网站建设华大百度查询
  • 网易云播放器做网站播放seo推广教程seo推广技巧
  • 淮安涟水网站建设杭州小程序建设公司
  • 文化网站建设网络营销与直播电商就业前景
  • 怎么修改网站模版今日头条搜索优化怎么做
  • 汕头市网站建设公司seo专业技术培训
  • 杭州协会网站建设方案网页推广怎么做的
  • 政府网站建设评论文章网站推广多少钱一年
  • 最热门的网络游戏排行seoaoo
  • 做外贸网站建设百度指数关键词
  • 上海公司买新能源车需要什么条件外贸网站优化公司
  • 亿唐微方网站建设优秀营销软文范例500字
  • 做网站的项目实施方案seo培训网
  • 房山区网站建设什么公司适合做seo优化
  • 什么是网页设计与网站建设seo搜索引擎优化推广
  • 珠海专业做网站的公司青岛排名推广