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

做网站用的背景图编写网页的软件

做网站用的背景图,编写网页的软件,做仿站如何修改网站管理权限,株洲网站开发公司电话什么是迭代器模式 迭代器模式#xff08;Iterator Pattern#xff09;属于行为型模式#xff0c;其提供一种方法顺序访问一个聚合对象中的各种元素#xff0c;而又不暴露该对象的内部表示#xff0c;即不需要知道集合对象的底层表示。编程环境中非常常用的设计模式。 迭代…什么是迭代器模式 迭代器模式Iterator Pattern属于行为型模式其提供一种方法顺序访问一个聚合对象中的各种元素而又不暴露该对象的内部表示即不需要知道集合对象的底层表示。编程环境中非常常用的设计模式。 迭代器模式的实现 迭代器模式角色 抽象迭代器角色Iterator:定义遍历元素所需要的方法通常包含next()、hasNext()、remove()等。具体迭代器角色Concrete Iterator实现迭代器接口中定义的方法完成对聚合对象的遍历记录遍历的当前位置。容器角色(Aggregate)一般是接口定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体容器角色ConcreteAggregate抽象容器的具体实现类实现抽象容器创建出容器迭代器的对象。 迭代器模式类图 迭代器模式代码实现 抽象迭代器角色 package com.common.demo.pattern.iterator;/*** author Evan Walker 昂焱数据: https://www.ayshuju.com* version 1.0* desc 抽象迭代器角色 抽象迭代器* date 2023/08/03 22:38:43*/ public interface Iterator {//判断是否还有下一个元素boolean hasNext();//获取第一个元素Object first();//获取下一个元素Object next(); }具体迭代器角色 package com.common.demo.pattern.iterator;import java.util.List;/*** author Evan Walker 昂焱数据: https://www.ayshuju.com* version 1.0* desc 具体迭代器角色 对象迭代器* date 2023/08/03 22:39:30*/ public class ObjectIterator implements Iterator{private ListObject list;//记录遍历时的位置private int position 0;public ObjectIterator(ListObject list) {this.list list;}Overridepublic boolean hasNext() {return positionlist.size();}Overridepublic Object first() {return list.get(0);}Overridepublic Object next() {return list.get(position);} }抽象容器角色 package com.common.demo.pattern.iterator;/*** author Evan Walker 昂焱数据: https://www.ayshuju.com* version 1.0* desc 抽象聚合/容器角色* date 2023/08/03 22:43:07*/ public interface Aggregate {//添加对象void addObject(Object object);//移除对象void removeObject(Object object);//获取迭代器Iterator getIterator(); }具体容器角色 package com.common.demo.pattern.iterator;import java.util.ArrayList; import java.util.List;/*** author Evan Walker 昂焱数据: https://www.ayshuju.com* version 1.0* desc 具体聚合/容器角色 对象聚合* date 2023/08/03 22:43:31*/ public class ObjectAggregate implements Aggregate{private ListObject list new ArrayList();Overridepublic void addObject(Object object) {list.add(object);}Overridepublic void removeObject(Object object) {list.remove(object);}Overridepublic Iterator getIterator() {return new ObjectIterator(list);} }测试类 package com.common.demo.pattern.iterator;/*** author Evan Walker 昂焱数据: https://www.ayshuju.com* version 1.0* desc 测试类* date 2023/08/03 22:44:47*/ public class Test {public static void main(String[] args) {//创建聚合对象ObjectAggregate objectAggregate new ObjectAggregate();//在聚合对象中填充数据objectAggregate.addObject(我是好人一号);objectAggregate.addObject(我是好人二号);objectAggregate.addObject(我是好人三号);//获取迭代器Iterator iterator objectAggregate.getIterator();//通过迭代器迭代数据while (iterator.hasNext()){System.out.println(iterator.next());}} }测试截图 迭代器模式的特点 优点 简化集合遍历代码迭代器模式可以封装集合对象的遍历过程使得客户端代码更简洁清晰无需关心集合对象的内部表示和遍历方式。支持多种遍历方式通过定义不同的迭代器类可以实现对同一个聚合对象的不同遍历方式灵活地应对不同的需求。封装聚合对象的内部表示迭代器将遍历操作从聚合对象中抽离出来使得聚合对象可以更好地封装自己的内部数据结构。 缺点 增加了系统复杂性引入迭代器模式将会增加额外的类和接口增加了系统的复杂性和理解难度。需要额外的内存开销每个迭代器对象都需要占用一定的内存空间当迭代器数量较多时会增加系统的内存开销。 使用场景 需要遍历聚合对象的情况当需要遍历访问一个聚合对象的元素并且对外部隐藏其内部表示时可以考虑使用迭代器模式。需要支持多种遍历方式的情况当同一聚合对象需要支持多种不同的遍历方式时可以使用迭代器模式来实现。 注意事项 迭代器模式一般包括迭代器接口和具体迭代器实现类以及聚合对象和具体聚合对象类。在使用迭代器模式时需要注意它们之间的关系和协作。聚合对象需要提供创建迭代器对象的接口以便客户端能够获取迭代器对象进行遍历操作。注意迭代器对象的生命周期管理特别是在多线程环境下需要注意迭代器的线程安全性和一致性。考虑迭代器模式的性能影响尤其是对于大规模数据集合的遍历操作需要合理评估迭代器模式的适用性和性能开销。 更多消息资讯请访问昂焱数据https://www.ayshuju.com
http://www.w-s-a.com/news/340453/

相关文章:

  • 佛山免费发布信息的网站oa办公系统排行榜
  • 南湖区建设街道办事处网站汕头建设银行各支行电话
  • 复古风格网站网站套餐方案
  • 界面设计做的好的网站旅游商城网站模板
  • 大型电子商务网站 服务器硬件 cpu 内存 硬盘 2014美食网站开发意义
  • 建立网站的目的和意义网站建设寻求
  • 邢台手机网站建设设计师培训心得
  • 营销网站怎么做丽水微信网站建设哪家好
  • 南昌定制网站开发多少钱东阿县城市建设局网站
  • 浙江网站建设公司南昌seo招聘
  • 工业软件有哪些专业seo站长工具全面查询网站
  • 山东兴华建设集团有限公司网站和京东一样做电子产品的网站
  • 网站建设谢辞关于h5的网站模板
  • 网站改版提交WordPress360收录
  • 省级网站 开发建设 资质在国外怎么做网站
  • 中商华兴建设有限公司网站我的世界查找建筑网站
  • 广东网站设计公司百度推广免费送网站
  • 高密做网站哪家好网站建设预算
  • 免费wordpress网站模板重庆如何做聚政网站
  • 人才网站app建设建议系统开发生命周期法的优点表现
  • 门户网站想要微信登录怎么做湖南网站seo推广
  • 襄阳 网站建设管理系统网站
  • 重庆工程建设招标投标交易信息网广州外贸seo优化
  • 一个一起做网站东莞设计兼职网站建设
  • 杭州网站程序开发公司在哪个公司建设网站好
  • 网店的网站设计方案济南手机建站价格
  • 网站做了301重定向域名会自动跳转吗唐山地方志网站建设
  • 学校网站建设说明书海南省建设执业资格注册管理中心网站
  • 东莞哪家网站建设好网站风格设定
  • 自驾游网站模板搭建wordpress步骤