【java设计模式】【行为模式Behavioral Pattern】迭代器模式Iterator Pattern

 1 package com.tn.pattern;
 2 
 3 public class Client {
 4     public static void main(String[] args) {
 5         Object[] objs={"飞","雪","连","天","射","白","鹿","笑","书","神"};
 6         Aggregate aggregate=new ConcreteAggregate(objs);
 7         
 8         Iterator it=aggregate.iterator();
 9         it.first();
10         it.next();
11         System.out.println(it.isDone());
12         it.currentItem();
13         
14         it.first();
15         System.out.println("----------------------------------------");
16         while(!it.isDone()){
17             it.currentItem();
18             it.next();
19         }
20     }
21 }
22 
23 interface Iterator{
24     void first();
25     void next();
26     boolean isDone();
27     void currentItem();
28 }
29 
30 interface Aggregate{
31     Iterator iterator();
32 }
33 
34 class ConcreteAggregate implements Aggregate{
35     private Object[] datas=new Object[10];
36     
37     public ConcreteAggregate(Object[] objs){
38         this.datas=objs;
39     }
40     
41     public Iterator iterator(){
42         return new ConcreteIterator();
43     }
44     
45     class ConcreteIterator implements Iterator{
46         private int index;
47         @Override
48         public void first() {
49             index=0;
50         }
51         @Override
52         public void next() {
53             index++;
54         }
55         @Override
56         public boolean isDone() {
57             return index>=datas.length;
58         }
59         @Override
60         public void currentItem() {
61             if(index<datas.length)
62                 System.out.println(datas[index]);
63         }
64     }
65 }

 

转载于:https://www.cnblogs.com/xiongjiawei/p/6846128.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复习Java字节流_字符流使用及案例

字节流_字符流 主要内容 IO流字节流字符流异常处理Properties 第一章 IO概述 1.1 什么是IO 生活中&#xff0c;你肯定经历过这样的场景。当你编辑一个文本文件&#xff0c;忘记了ctrls &#xff0c;可能文件就白白编辑了。当你电脑上插入一个U盘&#xff0c;可以把一个视频…

ESP32 coredump 分析

1. 上次写了一个 ESP32 入门&#xff0c;我想有必要再写这篇文章&#xff0c;这次主要是分析 coredump 的&#xff0c;这就像 Android 和 Linux 系统的死机分析&#xff0c;有意思&#xff0c;也有难度。我们写代码的时候&#xff0c;不可避免的会遇到一些 coredump 的问题&am…

pycharm变量存_pycharm不为人知的功能们

一、远程调试这个功能真的好用&#xff0c;现改现测参考的博客写的挺详细的&#xff0c;补充一下个人的注意事项1.要选sftp连接&#xff0c;否则连接不上(没有具体查找原因&#xff0c;sftp挺好用的就用着)&#xff0c;端口是222.Connection中的Root path指定根目录&#xff0c…

css div设置inline-block后 div顶部对齐

div{vertical-align:top}转载于:https://www.cnblogs.com/SunSong/p/6846776.html

我那个在华为过得很好的朋友

最近华为的事件又上了热搜&#xff0c;不管是微信还是知乎&#xff0c;都在啃这个热点&#xff0c;一种是看热闹不闲事大的&#xff0c;一种是看热闹闲事大的&#xff0c;我呢&#xff1f;昨晚跟我的一个华为朋友玩了几把王者荣耀&#xff0c;虽然不能带他全盘浪&#xff0c;但…

Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

学习目标 redis 概念下载安装命令操作 1. 数据结构持久化操作使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念&#xff1a; redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL)&#xff0c;意即…

cif t t操作流程图_外贸跟单员的详细工作流程:跟单员工作流程图

&#xfeff;外贸跟单员详细工作流程外贸跟单员定义: 外贸跟单员是指在进出口业务中&#xff0c;在贸易合同签订后&#xff0c;依据合同和相关单证对货物加工、装运、保险、报检、报关、结汇等部分或全部环节进行跟踪或操作&#xff0c;协助履行贸易合同的外贸业务人员。外贸跟…

从你的全世界路过-论演员的自我修养

线程 1.概念 &#xff1a; 线程是一个程序内部的顺序控制流 2.线程与进程的区别 &#xff08;1&#xff09;每个进程都有独立的代码和数据空间&#xff08;进程上下文&#xff09;&#xff0c;进程间的切换会有较大的开销 &#xff08;2&#xff09; 线程可以看做轻量级的进程…

要有敬畏之心

最近开始周六也没有休息&#xff0c;心理上还是很难接受&#xff0c;也不是说周六上班有多累&#xff0c;就是没有找到对的感觉&#xff0c;就像和一个不喜欢的姑娘相亲&#xff0c;就算姑娘家财万贯&#xff0c;貌美如花&#xff0c;自己还是提不起兴趣&#xff0c;可能这就是…

复习Java_List_Set_HashSet原理_Collections使用_Comparator使用

复习Java_List_Set_HashSet原理_Collections使用_Comparator使用 主要内容 数据结构List集合Set集合Collections 第一章 数据结构 2.1 数据结构有什么用&#xff1f; 加快应用开发, 提高程序健壮性, 提高程序可重用性 2.2 常见的数据结构 数据存储的常用结构有&#xff…

子之错父之过什么意思_"子不教父之过",这句话出自哪里?什么意思?

展开全部&#xff02;子不教父之过&#xff02;这句话应该是养不教&#xff0c;父之过。意思是仅仅是供养儿62616964757a686964616fe4b893e5b19e31333431333939女吃穿&#xff0c;而不好好教育&#xff0c;是父母的过错。出自中国的传统启蒙教材《三字经》。在中国古代经典当中…

Linux之定时任务补充

定时任务两实例 例1: 每分钟打印一次自己的名字拼音全拼到“/server/log/自己的名字命名的文件”中。 [rootchengliang log]# mkdir -p /server/log/ [rootchengliang log]# echo "chensiqi" >>/server/log/chengliang [rootchengliang log]# crontab -l #time…

最近,我也要买书了

1.当当网给我做的一个活动&#xff0c;购书优惠&#xff0c;确实是福利了&#xff0c;而且筛选的书籍对我们做嵌入式都是比较有帮助的&#xff0c;你应该知道&#xff0c;做活动的时候&#xff0c;价格都是比较不错&#xff0c;不要错过了时间再想要当时的价格&#xff0c;有需…

复习Java异常处理_异常分类_自定义异常_线程初步了解

复习Java异常处理_异常分类_自定义异常_线程 主要内容 异常、线程 教学目标 第一章 异常 1.1 异常概念 异常&#xff0c;就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是&#xff1a; 异常…

python selenium自动化测试面试题_selenium 自动化测试面试题及答案

1、selenium中如何判断元素是否存在&#xff1f;- isElementPresent2、selenium中hidden或者是display &#xff1d; none的元素是否可以定位到&#xff1f;- 不能3、selenium中如何保证操作元素的成功率&#xff1f;也就是说如何保证我点击的元素一定是可以点击的&#xff1f;…

跟我师兄聊天引发的思考

我一个师兄&#xff0c;上大学的时候关系很好&#xff0c;我师兄也很喜欢打篮球&#xff0c;也许这就是我们有很多共同话题的原因&#xff0c;人是很奇怪&#xff0c;特别是做技术的&#xff0c;本来就比较闷&#xff0c;很难跟陌生人马上来电&#xff0c;但是如果有个共同爱好…

HDU 4701 Game

link&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid4701 DP真美 &#xff01; (亝 ‿ 亝) dp[pos][a][b][0/1]&#xff1a;第pos件商品即将被购买&#xff0c;Alice有a元&#xff0c; Bob有b元&#xff0c;轮到谁行动(0:Alice 1:Bob)。 打训练赛时&#xff0c;设计出…

写好一份属于自己的简历

原文出处&#xff1a;原文链接 下面是精益技术简历的47条原则&#xff1a; 版式 原则1&#xff1a;使用对齐 原则2&#xff1a;不必使用居中 原则3&#xff1a;谨慎使用粗体 原则4&#xff1a;避免不必要的折行 原则5&#xff1a;使用制表符辅助对齐 个人信息 原则6&#xff…

别忘了当初你为何出发

最近&#xff0c;特别喜欢听一个广播&#xff0c;宝安905&#xff0c;估计是因为我最近营养不太够&#xff0c;需要多喝一些鸡汤&#xff0c;刚好这个电台广播的鸡汤非常够味&#xff0c;非常符合我现在的胃口。比如这一句「你想收获世界上最好的东西&#xff0c;先让世界看到最…

Git学习历程

Git学习历程 作为一名有理想的程序员&#xff0c;当然要会用一些高效的工具。今天来复习一下之前学过的Git的使用方法。 学习流程&#xff1a; 1、入门GitHub的文章&#xff1a;http://pan.baidu.com/s/1jHLdNZg(百度云盘)。这篇文章中把GitHub讲的很详细&#xff0c;但是在讲解…