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

大连开发区二手房seo网站排名助手

大连开发区二手房,seo网站排名助手,百瑞网站建设,电脑QQ浮动窗口怎做电脑网站定义 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色: 抽象聚合角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合角色:实现抽象聚合类&a…

定义

提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。

结构

迭代器模式主要包含以下角色:

  • 抽象聚合角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。
  • 具体聚合角色:实现抽象聚合类,返回一个具体迭代器的实例。
  • 抽象迭代器角色:定义访问和遍历聚合元素的接口,通常包含 hasNext()、next() 等方法。
  • 具体迭代器角色:实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置。

案例

抽象聚合类

public interface StudentAggregate {//添加元素void addStudent(Student student);//删除元素void deleteStudent(Student student);//创建迭代器对象ConcreteIterator getIterator();
}

 具体聚合类

public class ConcreteAggregate implements StudentAggregate{private List<Student> list =new ArrayList<>();@Overridepublic void addStudent(Student student) {list.add(student);}@Overridepublic void deleteStudent(Student student) {list.remove(student);}@Overridepublic ConcreteIterator getIterator() {return new ConcreteIterator(list);}
}

抽象迭代器 

public interface StudentIterator {boolean hasNext();Student next();
}

 具体迭代器类

public class ConcreteIterator implements StudentIterator {private List<Student> list = new ArrayList<>();private int index = 0;public ConcreteIterator(List<Student> list) {this.list = list;}@Overridepublic boolean hasNext() {return index < list.size();}@Overridepublic Student next() {Student student = list.get(index);index++;return student;}
}

 载体

public class Student {private String name;private String Id;public Student(String name, String id) {this.name = name;Id = id;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", Id='" + Id + '\'' +'}';}
}

 测试

public class Client {public static void main(String[] args) {ConcreteAggregate concreteAggregate = new ConcreteAggregate();concreteAggregate.addStudent(new Student("张三","NO1"));concreteAggregate.addStudent(new Student("李四","NO2"));concreteAggregate.addStudent(new Student("王五","NO3"));ConcreteIterator iterator = concreteAggregate.getIterator();while(iterator.hasNext()){Student currentStudent = iterator.next();System.out.println(currentStudent.toString());}}
}

Student{name='张三', Id='NO1'}

Student{name='李四', Id='NO2'}

Student{name='王五', Id='NO3'}

JDK源码解析

JDK中的Iterator实现

查看ArrayList源码,由上图可以看出ArrayList内存在一个内部类Itr实现了抽象迭代接口,重写了hasNext与next方法。而ArrayList提供了iterator方法返回Iterator对象。

http://www.tj-hxxt.cn/news/93962.html

相关文章:

  • 在一个网站上面发布广告怎么做杭州seo俱乐部
  • 台州网站制作服务windows优化大师好不好
  • cms 导航网站百度seo详解
  • 为什么用MyEclipse做网站企业网站建设费用
  • 中国建设网官网网站网络推广公司口碑
  • 我想建立一个网站不知道怎么做啊在线推广企业网站的方法有哪些
  • h网站建设网络营销的主要推广方式
  • 如何做自己的游戏网站sem是什么职业岗位
  • 网站如何做攻击防护适合中层管理的培训
  • 中国免费网站建设营销技巧有哪些
  • html写的网页怎么在手机上看广州seo关键字推广
  • 在线制作手机网站百度seo2022
  • 上海招聘网最新招聘seo技术教程博客
  • 网站产品展示模板手机百度网盘网页版登录入口
  • 沧州开发网站多少钱国内最好用免费建站系统
  • asp做的手机网站东莞市网站seo内容优化
  • 网站绿标怎么做世界羽联巡回赛总决赛
  • 品牌网站应该怎么做关键词排名怎么上首页
  • 设计类专业哪个最好aso优化师主要是干嘛的
  • 网站文章超链接怎么做谷歌推广哪家好
  • 亿唐为什么2005年做虚拟网站网络营销主要有哪些特点
  • 西安便宜做网站图片外链
  • 青岛 html5flash设计开发|交互设计|网站建设杭州百度seo优化
  • 个人网站有哪些板块大数据网站
  • 视频网站cms系统搜索量查询
  • 自己网站怎么做百度优化seort什么意思
  • 郑州汉狮做网站好不小蝌蚪幸福宝入口导航
  • 建网站哪家质量好潮州网站建设
  • 网站必须做等保合规seo优化名词解释
  • 织梦手机网站怎么做快点tv下载安装