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

网站的域名怎么看国内10大搜索引擎

网站的域名怎么看,国内10大搜索引擎,Wordpress一直刷不出,全套网站模板下载15.迭代器模式 定义:我们可以用相同的方式处理集合,无论它是列表还是数组,它都提供了一种迭代其元素而不用暴露其内部结构的机制,更重要的是,不同的类型的集合都可以使用相同的统一机制,这种机制则被称为 …

15.迭代器模式

定义:我们可以用相同的方式处理集合,无论它是列表还是数组,它都提供了一种迭代其元素而不用暴露其内部结构的机制,更重要的是,不同的类型的集合都可以使用相同的统一机制,这种机制则被称为 迭代器模式。
目的:提供一种顺序遍历聚合对象元素,而不暴露其内部实现的方法。
主要角色

  • Aggregate(抽象容器):负责提供创建具体迭代器角色的接口,对应于java.util.Collection接口。
  • Iterator(抽象迭代器):迭代器的抽象类,它定义遍历容器对象的操作以及返回对象的操作
  • ConcreteAggregate(具体容器):主要是可以实现内部不同的结构。但会暴露处理遍历容器的具体迭代器。
  • ConcreteIterator(具体迭代器):处理特定的具体容器类的具体迭代器,实际上对于每个容器具体容器,都必须实现一个具体的迭代器。

一、先是创建抽象容器,定义几个基本添加删除元素方法,以及迭代器

public interface Aggregate {// 添加元素void add(Object object);// 移除元素void remove(Object object);// 迭代器Iterator iterator();
}

二、创建抽象迭代器,遍历容器中的数据

public interface Iterator<E> {// 判断容器是否有值boolean hasNext();// 把游标执向下一个指针void next();// 当前遍历的数据E currentItem();
}

三、开始定义我们具体的容器了,内部定一个ArrayList容器,用来存放数据,当然这里大家也可以改成其他的容器 比如说用Vector 或者其他的 栈、树、图等

@NoArgsConstructor
@AllArgsConstructor
@Data
public class ConcreteAggregate implements Aggregate {private ArrayList arrayList = new ArrayList();@Overridepublic void add(Object object) {this.arrayList.add(object);}@Overridepublic void remove(Object object) {this.arrayList.remove(object);}@Overridepublic Iterator iterator() {return new ConcreteIterator(this.arrayList);}
}

四、就是实现具体的迭代器了

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ConcreteIterator<T> implements Iterator<T> {private int cursor; // 游标private ArrayList arrayList;@Overridepublic boolean hasNext() {return this.cursor != arrayList.size();}@Overridepublic void next() {cursor++;System.out.println("cursor = " + cursor);}@Overridepublic T currentItem() {if (cursor>=arrayList.size()){throw new NoSuchElementException();}T t =(T) arrayList.get(cursor);this.next();return t;}
}

五、迭代器测试

public class IteratorTest {public static void main(String[] args) {Aggregate aggregate = new ConcreteAggregate();aggregate.add("java");aggregate.add("c++");aggregate.add("php");aggregate.add("jsp");Iterator iterator = aggregate.iterator();while (iterator.hasNext()){System.out.println(iterator.currentItem());}}
}
http://www.dtcms.com/wzjs/458968.html

相关文章:

  • 美团网站做疏通广告网上接单平台有哪些
  • 姜堰网站开发网络营销策划书包括哪些内容
  • 浙江建筑网站百度广告投放价格
  • wordpress+下载媒体库hyein seo官网
  • 网站设计与网页制作岗位招聘信息seo常用工具有哪些
  • wordpress 新主题深圳网站seo公司
  • 吴江区城乡建设管理局网站地推拉新app推广平台有哪些
  • 广安做网站b2b网站大全免费推广
  • 天津建站模板搭建微信营销平台
  • seo网站计划书googleseo服务公司
  • wordpress 搜索按钮国外搜索引擎优化
  • 设计网站公司 昂 睁湖南岚鸿青岛网站seo服务
  • 网站制作怎么做让点击高杭州seo营销公司
  • wordpress导出媒体seo中文含义是什么
  • 中国江西网官方网站黄冈地区免费网站推广平台
  • 佛山林镜全seo工资多少
  • 免费h5模板网站模板搜索引擎营销的实现方法有哪些
  • 线上怎么做推广信息如何优化上百度首页公司
  • 江油网站网站建设南宁百度网站推广
  • 如何自己做优惠卷网站淘宝客怎么做推广
  • 像百度重新提交网站提高工作效率的软件
  • 杭州海淀区网站建设西安疫情最新通知
  • 网站开发雷小天百度如何快速收录
  • 网站项目计划书模板范文网站推广的10种方法
  • ps如何做网站轮播图seo关键词优化推广
  • 做ppt图片用的网站有哪些百度引流推广哪家好
  • h5互动网站建设东莞网站建设优化诊断
  • 建筑公司企业文化常州seo招聘
  • 家装网站做html网页制作app
  • 合肥网站建设卫来科技个人网站设计内容