java迭代器实现,设计模式 迭代器模式
迭代器模式:提供一个方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
迭代器模式提供了一种方法,可以顺序访问一个聚合对象中的元素,而又不用知道内部是如何标示的。另外,迭代器模式把在元素之间游走的责任交给迭代器,而不是聚合对象,让聚合更专注于数据集合。
案例实现情景:我和友人去超市分头购物,在结帐时,我们遍历一下我们的"扫货"清单(遍历打印购物清单),在实现上,我使用数组列表,友人使用事物[]数组,给遍历造成困扰。
案例代码:
Thing.java
公共类的东西{
私有字符串名称;
私长价;
公共事物(字符串名称,长价格){
this.name=name
this.price=价格;
@覆盖
公共字符串toString() {
return Thing [name= name ,price= price ];
Me.java
public boolean hasNext() {
while(位置东西数组。长度事物数组[位置]!=null){
返回真实的
返回错误的
@覆盖
公共事物下一个(){
返回事物数组[位置];
@覆盖
公共无效删除(){
//无所事事
Test.java
公共静态void main(String args[]){
数组列表迭代器Thing allIterator=新数组列表迭代器thing();
我我=新的我();
朋友朋友=新朋友();
迭代器事物=我。创建迭代器();
迭代器事物朋友sIterator=朋友。创建迭代器();
畸形人。添加(meIterator);
畸形人。add(friendsIterator);
for(Iterator Thing Iterator:allIterator){
while(iterator.hasNext()){
系统。出去。println(迭代器。next());
系统。出去。println(-);
测试结果:
单一职责:一个类应该只有一个引起变化的职责。
当一个模块或一个类被设计成只支持一组相关的功能时,我们说它具有高内聚。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。