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

沙河口网站建设百度下载老版本

沙河口网站建设,百度下载老版本,周口市建设局网站,网页设计素材图片免费文章目录 Java 设计模式之迭代器模式概述UML代码实现Java的迭代器 Java 设计模式之迭代器模式 概述 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 UML Iterator:迭代器接口&#xff…

文章目录

  • Java 设计模式之迭代器模式
    • 概述
    • UML
    • 代码实现
    • Java的迭代器

Java 设计模式之迭代器模式

概述

  • 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。

UML

在这里插入图片描述

  • Iterator:迭代器接口,定义遍历方法。
  • ConcreteIterator:具体迭代器类,实现迭代器接口,负责遍历聚合对象中的元素。
  • Aggregate:聚合接口,定义创建迭代器方法。
  • ConcreteAggregate:具体聚合类,实现聚合接口,负责存储数据和创建迭代器对象。

代码实现

定义迭代器接口:

public interface Iterator<T> {boolean hasNext();T next();
}

定义具体迭代器类:

public class BookIterator implements Iterator<String> {private ArrayList<String> bookList;private int position = 0;public BookIterator(ArrayList<String> bookList) {this.bookList = bookList;}@Overridepublic boolean hasNext() {return position < bookList.size();}@Overridepublic String next() {if (hasNext()) {return bookList.get(position++);}return null;}
}

定义聚合接口:

public interface Aggregate<T> {Iterator<T> createIterator();
}

定义具体聚合类:

public class BookCollection implements Aggregate<String> {private ArrayList<String> bookList = new ArrayList<>();public void addBook(final String book) {bookList.add(book);}@Overridepublic Iterator<String> createIterator() {return new BookIterator(bookList);}
}

使用:

public class Client {public static void main(String[] args) {BookCollection bookCollection = new BookCollection();bookCollection.addBook("西游记");bookCollection.addBook("水浒传");bookCollection.addBook("红楼梦");bookCollection.addBook("三国演义");Iterator<String> iterator = bookCollection.createIterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}
}

输出:

西游记
水浒传
红楼梦
三国演义

Java的迭代器

Java 提供了迭代器的相关接口:

// java.util.Iterator.javapublic interface Iterator<E> {   boolean hasNext();E next();
}
// java.util.ListIterator.javapublic interface ListIterator<E> extends Iterator<E> {  boolean hasNext(); E next(); boolean hasPrevious(); E previous();
}
http://www.mmbaike.com/news/107440.html

相关文章:

  • 网站开发汇报ppt模板站长网站统计
  • 网站只做五周seo排名优化教程
  • 用asp做网站有哪控件如何免费做网站推广的
  • 极速网站建设服务商网站排名软件利搜
  • 上海和城乡建设委员会网站宁波seo网络推广多少钱
  • 网站开发技术大学教材seochinazcom
  • 黄岩做网站百度优化推广
  • 男女做暖暖不要钱的试看网站seo是干啥的
  • 东莞做网站卓诚百度官方电话人工服务电话
  • 永久免费网站建立nba最新交易一览表
  • 北京市网站制作设计有哪些可以免费推广的平台
  • 私服充值网站怎么做的常熟网络推广
  • 安庆网站建设推荐秒搜科技seo网站有优化培训班吗
  • 网站建设代码标签大全谷歌自然排名优化
  • 制作简单的个人网站推广网站的公司
  • 怎么用IP做网站地址关键字优化用什么系统
  • 做推送的网站有哪些线上购买链接
  • 好的建站网站百度推广客户端登录
  • 做网站如何收费客户管理软件
  • 网站建设网络推广加盟百度搜索推广和信息流推广
  • 长春网站z制作足球排名最新排名世界
  • 网站开发 技术指标宁波seo网络推广主要作用
  • 网站空间独立控制面板专业模板建站
  • 开源建站系统cms社群营销成功案例
  • 淘宝代运营去哪里找南宁网站seo排名优化
  • 猎头用什么网站做单2022年最近一周新闻大事
  • 贵州做网站的公司百度快照推广排名
  • 微网站如何做推广深圳网络营销技巧
  • 阳谷做网站如何优化seo
  • 提供温州手机网站制作哪家便宜网页浏览器