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

音乐网站用什么语言做运营的三个核心要素

音乐网站用什么语言做,运营的三个核心要素,wordpress 列表展开收缩,整站网站优化推荐Iterator迭代器模式 介绍#xff1a; 迭代器模式是一种行为型设计模式#xff0c;它允许你在不暴露集合底层表示#xff08;并不知道集合底层使用何种方式对数据尽心存储#xff09;的情况下遍历集合中的元素。 这种模式提供了一种方法#xff0c;可以顺序访问一个聚合…Iterator迭代器模式 介绍 迭代器模式是一种行为型设计模式它允许你在不暴露集合底层表示并不知道集合底层使用何种方式对数据尽心存储的情况下遍历集合中的元素。 这种模式提供了一种方法可以顺序访问一个聚合对象中的各个元素而又不需要暴露该对象的内部表示。迭代器模式通常包括两个角色迭代器和聚合对象。 迭代器Iterator,读取元素 负责定义访问和遍历元素的接口实现了该接口的类拥有访问聚合对象中元素的能力 聚合对象Aggregate,存储元素 负责定义创建相应迭代器对象的接口该接口返回一个适当的迭代器实例实现了该接口的类将成为一个可以保存多个元素的集合就像数组一样 以下是一个简单的迭代器实例演示了如何使用迭代器模式遍历一个集合 1、抽象实例 创建迭代器接口 /*** 迭代器接口** author supanpan* date 2023/12/21*/ public interface IteratorT{/*** 判断是否存在下一个元素* return: 循环终止条件* true集合中存在下一个元素* false集合中不存在下一个元素*/boolean hasNext();/*** 获取下一个元素并且将迭代器指针位置移动到下一个元素*/T next(); }实现迭代器接口具体迭代器实现 /*** 具体迭代器实现** author supanpan* date 2023/12/21*/ public class ConcreteIteratorT implements IteratorT {private ListT list;// 存放元素的列表private int position;// 遍历元素的下标/*** 初始化迭代器**/public ConcreteIterator(ListT list) {this.list list;this.position 0;}/*** 判断是否到集合的末尾**/Overridepublic boolean hasNext() {return position list.size();}/*** 遍历迭代集合取出相应元素**/Overridepublic T next() {if (!hasNext()){throw new NoSuchElementException(没有元素了......);}T item list.get(position);position;return item;} }创建聚合对象 /*** 聚合对象** author supanpan* date 2023/12/21*/ public interface AggregateT {/*** 生成一个用于遍历集合的迭代器**/IteratorT createIterator(); }实现聚合对象接口创建具体聚合对象 /*** 具体聚合对象** author supanpan* date 2023/12/21*/ public class ConcreteAggregateT implements AggregateT{private ListT items;public ConcreteAggregate() {this.items new ArrayList();}/*** 向集合中添加元素* param item 待添加元素*/public void addItem(T item){items.add(item);}/*** 创建迭代器对象** return 具体的迭代器*/Overridepublic IteratorT createIterator() { // items.sort(null);// 在创建迭代器之前对集合中的元素进行排序操作return new ConcreteIterator(items);// 将聚合对象中的集合传递给具体迭代器对象以供访问} }测试Main: public class Main {public static void main(String[] args) {// 创建聚合对象ConcreteAggregateString aggregate new ConcreteAggregate();// 向聚合对象中添加元素aggregate.addItem(Item 1);aggregate.addItem(Item 3);aggregate.addItem(Item 2);aggregate.addItem(Item 4);// 获取迭代器对象IteratorString iterator aggregate.createIterator();// 使用迭代器模式进行遍历while (iterator.hasNext()){// 获取迭代器中的元素String item iterator.next();System.out.println(item);}} }2、书架实例 创建聚合对象用于将具体实现类中的集合通过迭代器进行返回 public interface AggregateT {IteratorT iterator(); }创建迭代器对象用于访问聚合对象中的数组数据 public interface IteratorT {boolean hasNext();T next(); }创建Book对象Book对象用于获取书籍的名称 public class Book {private String name;// 书籍名称public Book(String name) {this.name name;}public String getName() {return name;} }创建BookShelf对象这个对象实现了Aggregate接口拥有聚合元素的能力 public class BookShelf implements Aggregate{private ArrayListBook books;// 对比抽象实例中的数组这里改成了存放书籍的列表/*** 初始化集合对象** param initialSize 集合大小*/public BookShelf(int initialSize){this.books new ArrayList(initialSize);}public Book getBookAt(int index) {return (Book) books.get(index);}public void appendBook(Book book) {books.add(book);}public int getLength() {return books.size();}/*** 将书籍数组返回给具体迭代器实现类提供访问书籍数组的能力* */public Iterator iterator() {return new BookShelfIterator(this);} }创建BookShelfIterator对象这个对象实现了Iterator接口拥有访问聚合对象中的数据能力 public class BookShelfIterator implements Iterator{private BookShelf bookShelf;private int index;/*** 初始化迭代器* param bookShelf 聚合对象集合数据*/public BookShelfIterator(BookShelf bookShelf) {this.bookShelf bookShelf;this.index 0;}Overridepublic boolean hasNext() {return index bookShelf.getLength();}Overridepublic Object next() {Book item bookShelf.getBookAt(index);index;return item;} }测试类 public class Main {public static void main(String[] args) {BookShelf bookShelf new BookShelf(4);bookShelf.appendBook(new Book(时间简史));bookShelf.appendBook(new Book(活着));bookShelf.appendBook(new Book(百年孤独));bookShelf.appendBook(new Book(1984));bookShelf.appendBook(new Book(三体));bookShelf.appendBook(new Book(围城));bookShelf.appendBook(new Book(小王子));bookShelf.appendBook(new Book(云边的小卖部));Iterator it bookShelf.iterator();while (it.hasNext()) {Book book (Book)it.next();System.out.println(book.getName());}} }3、Iterator总结 通过以上两个实例在每个实例中都出现了相对重要的接口和实现类这四个关键角色分别是Iterator迭代器、ConcreteIterator具体的迭代器、Aggregate聚合对象和ConcreteAggregate具体的聚合对象。 Iterator迭代器 Iterator是一个接口它定义了在集合对象上进行迭代的方法 hasNext()用于检查是否还有下一个元素next()用于获取下一个元素。 ConcreteIterator具体的迭代器 ConcreteIterator是Iterator接口的具体实现它持有对应的集合对象并且在内部实现了迭代逻辑。具体的迭代器类通常会包含一个指向当前元素的游标并且实现了Iterator接口中定义的方法。 Aggregate聚合对象 Aggregate是一个接口它定义了创建迭代器对象的方法例如createIterator()聚合对象是包含一组元素的对象它通常会提供一种方式来获取迭代器对象使得外部客户端可以通过迭代器遍历聚合对象中的元素。 ConcreteAggregate具体的聚合对象 ConcreteAggregate是Aggregate接口的具体实现它实现了创建迭代器对象的方法并且通常会包含一个内部集合来存储元素。具体的聚合对象类会将迭代器对象的创建委托给具体的迭代器类。 下面是Iterator实现的类图
http://www.lebaoying.cn/news/74426.html

相关文章:

  • 做网站封面素材图郑州少儿编程培训机构
  • 许昌企业网站建设黑镜wordpress
  • 苏州自助建站系统做的网站很卡是什么原因呢
  • 视频网站备案免费移动网站建站
  • 做理论的网站建筑设计专业推荐网站
  • gps建站教程视频2022年企业所得税税率
  • 陕西建设网网站集群江苏苏州建设行政主管部门网站
  • 建设分销网站门户网站建设工作制度建立情况
  • 怎么做app网站ui原型建设银行重庆分行网站
  • 做众筹网站需要什么条件设计类型的网站
  • html5网站建设 教程视频免费正版高清图片素材库
  • 温州高端网站建设公司想设计一个公司的网站
  • 自己办网站审批流程wordpress怎么绑域名
  • 商城网站 前置审批网站上的用户注册怎么做的
  • 专业 网站设计公司价格自媒体账号
  • 网站建设推进计划河南住房和城乡建设厅官网
  • 中国建设部网站官网威县做网站哪家便宜
  • 网站高端定制wordpress恶意广告
  • 济源建网站泰兴市网站建设
  • php网站做代理服务器网站做好了怎么上线
  • 电子商务专业网站网站建设分金手指排名二六
  • 网站购买空间多少钱wordpress购物商城代码
  • 两学一做教育网站管理制度
  • 产品开发流程表梧州网站seo
  • 加若格网站做么样公众号开发教程视频
  • 如何做网站运营qq浏览器在线网页
  • 网站内链检测工具网站前台功能介绍
  • 南浔区住房和城乡建设局网站网站建设的十点优势
  • 网站qq弹窗网站背景磨砂灰背景怎么做
  • 深圳外贸英文网站设计联系电话app开发费用价目表