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

公司网站域名费用怎么交短视频seo系统

公司网站域名费用怎么交,短视频seo系统,工信部网站备案系统怎么注册,全球最好的域名注册公司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.ds6.com.cn/news/118631.html

相关文章:

  • 移动应用平台广州网站排名优化公司
  • 济南 营销型网站广州高端网站建设公司
  • 域名网站账号中国宣布疫情结束日期
  • 网店的运营模式有哪些深圳seo培训
  • 上海最大企业前十名seo成创网络
  • 租服务器发布网站打开百度app
  • 旅游类网站开发开题报告范文ip域名解析查询
  • 重庆 网站建设学校网站模板
  • 网站备案网站前置审批北京网络营销推广
  • 做商城网站多少钱sem是什么基团
  • 网站建设服务协议模板seo在线培训机构排名
  • 网文订阅做多的网站seo推广策划
  • 网站怎样做移动端软文营销范文100字
  • 升级wordpress无法创建目录seo顾问
  • 网购app排行榜前十名现在学seo课程多少钱
  • wordpress怎么编辑网站网络推广是干什么的
  • 漫画门户网站怎么做的商业公司的域名
  • 做poster网站今日最新国内新闻重大事件
  • wordpress中调整图片尺寸seo优化排名推广
  • 窑湾古镇网站开发百度大数据分析工具
  • 网站制作预算百度热搜高考大数据
  • 界首网站建设新手做外贸怎么入门
  • 前端程序员工资一般多少seo网站优化报价
  • 宿迁做网站的公司产品推广计划
  • 做网站就是做点击率天津seo推广优化
  • 公司不需要做网站了关键词权重如何打造
  • 注册城乡规划师考试时间2024天津百度seo推广
  • 家具网站 模板微信推广加人
  • 建站abc做网站好累网站模版
  • 怎么在网上免费做公司网站怎么样推广自己的产品