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

wordpress小插件下载地址给网站做seo的价格

wordpress小插件下载地址,给网站做seo的价格,快速赚钱的软件,网上做兼职网站有哪些工作行为设计模式之Iterator(迭代器) 摘要: 迭代器模式(Iterator)是一种行为设计模式,它提供顺序访问聚合对象元素的方法,同时不暴露内部结构。该模式由迭代器接口(Iterator)、具体迭代器(ConcreteIterator)、聚合接口(Ag…

行为设计模式之Iterator(迭代器)

摘要:
迭代器模式(Iterator)是一种行为设计模式,它提供顺序访问聚合对象元素的方法,同时不暴露内部结构。该模式由迭代器接口(Iterator)、具体迭代器(ConcreteIterator)、聚合接口(Aggregate)和具体聚合(ConcreteAggregate)组成,适用于需要遍历不同聚合结构的场景。示例代码展示了通过BookIterator遍历BookAggregate中的图书信息,实现了数据存储与遍历逻辑的分离。这种模式支持多种遍历方式,并为不同聚合提供统一访问接口,提高了代码的灵活性和可维护性。

1)意图

提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示。

2)结构

在这里插入图片描述

其中:

  • Iterator (迭代器)定义访问和遍历元素的接口。
  • ConcreteIterator(具体迭代器)实现迭代器接口;对该聚合遍历时跟踪当前位置。
  • Aggregate( 聚合)定义创建相应迭代器对象的接口。
  • ConcreteAggregate (具体聚合)实现创建相应迭代器的接口,该操作返回 ConcreteIterator
    的一个适当的实例。

3)适用性

Iterator 模式适用于:

  • 访问一个聚合对象的内容而无须暴露它的内部表示。
  • 支持对聚合对象的多种遍历。
  • 为遍历不同的聚合结构提供一个统一的接口
import java.util.ArrayList;
import java.util.List;public class IteratorPattern1 {public static void main(String[] args) {BookAggregate aggregate = new BookAggregate();String[] books = { "java", "python", "c++", "c" };double[] prices = { 100, 200, 300, 400 };for (int i = 0; i < 4; i++) {aggregate.addBook(new Book(books[i], prices[i]));}Iterator iterator = aggregate.createIterator();while (iterator.hasNext()) {Book book = (Book) iterator.next();System.out.println("书名:" + book.getName() + " 价格:" + book.getPrice());}}
}interface Iterator {boolean hasNext();Object next();
}class BookIterator implements Iterator {private int index;private BookAggregate bookAggregate;public BookIterator(BookAggregate bookAggregate) {this.index = 0;this.bookAggregate = bookAggregate;}@Overridepublic boolean hasNext() {if (index < bookAggregate.getBookCount()) {return true;}return false;}@Overridepublic Object next() {Book book = bookAggregate.getBook(index);index++;return book;}
}class BookAggregate implements Aggregate {private List<Book> bookList = new ArrayList<>();public void addBook(Book book) {bookList.add(book);}public Book getBook(int index) {return bookList.get(index);}public int getBookCount() {return bookList.size();}@Overridepublic Iterator createIterator() {return new BookIterator(this);}
}interface Aggregate {Iterator createIterator();
}class Book {private String name;private double price;public Book(String name, double price) {this.name = name;this.price = price;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}
}
http://www.dtcms.com/wzjs/151712.html

相关文章:

  • 高端网站建设公司排行中国营销传播网官网
  • 招工网站怎么做深圳靠谱网站建设公司
  • 江阴市城乡建设网站整合营销传播名词解释
  • 网站建设 资质百度网站ip地址
  • 个人网站可以备案沈阳今天刚刚发生的新闻
  • 做传媒网站公司简介今日特大新闻新事
  • 织梦网站图片怎么修改关键词seo公司真实推荐
  • 互联网 政府门户网站建设方案信息流广告推广
  • 怎么做网盘搜索引擎网站南京网站推广公司
  • 六安市住房和城乡建设局网站企业公司网站建设
  • 河北省建设厅网站查询免费推广网站推荐
  • 从网站栏目看网站功能网络营销推广的要点
  • 怎样做网站首页上海百度首页优化
  • 扁平化网站建设公司关键词seo排名公司
  • wix做网站流程百度电脑版入口
  • 长春网站设计公司新网站推广方案
  • html网站开发seo排名的职位
  • 常平网站仿做保定网站制作
  • 网站标题栏怎么修改seo优化一般多少钱
  • 网站开发创意想法优秀品牌策划方案
  • 贵阳做网站做得好的网站服务器怎么搭建
  • 网站维护 静态页面万网域名
  • 北京网站制作开发公司江西seo
  • 公司网站维护费大概需要多少网络营销经典案例
  • 网站建设与管理教学方案seo是谁
  • 企业邮箱申请理由seo综合检测
  • 全市政府网站建设会议外贸网站建设优化推广
  • 自己做网站 教程如何推广店铺呢
  • 工作证的照片几寸seo 培训教程
  • 浏阳做网站公司百度搜索引擎竞价排名