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

做标书有哪些网站能接到网站弹广告是什么样做的

做标书有哪些网站能接到,网站弹广告是什么样做的,wordpress the_post分类id,快速申请wordpress15.迭代器模式 定义:我们可以用相同的方式处理集合,无论它是列表还是数组,它都提供了一种迭代其元素而不用暴露其内部结构的机制,更重要的是,不同的类型的集合都可以使用相同的统一机制,这种机制则被称为 …

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/a/471218.html

相关文章:

  • 第145期《2025年AI现状报告》解读(三):安全篇
  • ps切片以后 怎么做网站wordpress 去掉分类
  • 最新πthon3.14(Python3.14)保姆安装(2025-10-11)
  • 邓卅做网站在什么地方网站和新媒体建设方案
  • 网站栏目功能淘宝代运营服务
  • 覆盖动画 / 工业 / 科研!Rhino 7:专业 3D 建模的全能解决方案,新手也能上手
  • 2025年再谈无头CMS
  • 青岛网站建设找润商网站建设管理工作情况报告
  • 网站建设 军报百度安装
  • 多太阳敏感器数据融合算法详解
  • 工作是套模板做网站网站建设定制开发推广
  • 上海哪家做网站关键词排名深圳网站建设简介
  • 沈阳网站关键词优化服务好做房产抵押网站需要什么手续费
  • 汕头响应式网站教程陕西营销型网站制作
  • 第9章:两条道路的风景:技术与管理的真实世界(2)
  • Spring Boot 3零基础教程,Demo小结,笔记04
  • 建网站公司用什么网站程序网络用户提要求找人帮忙做的网站
  • 了解HART 转 Modbus 转换器
  • 【图像处理基石】计算机视觉技术在安防监控领域的应用调研与实践总结
  • 自己怎么个人网站安徽六安发现一例新冠阳性检测者
  • 青岛网站seo收费标准丹阳市住房和城乡建设局网站
  • 做浏览单的网站有哪些wordpress 树形插件
  • 达梦数据库TDE透明加密解决方案:构建高安全数据存储体系
  • 低版本Chrome导致弹框无法滚动的解决方案
  • 网站地图怎么提交做相片软件网站
  • 广州找工作哪个网站好WordPress功能模块排版
  • 设计网站做多大合适制作网页的图片
  • 信阳网站网站建设学校网站制作价格
  • 基于单片机的智能水瓶温度控制系统
  • 惠阳有做公司网站的吗适合个人开店的外贸平台