一文彻底搞明白迭代器模式

2024年 5月 11日 52.0k 0

本篇讲解Java设计模式中的迭代器模式,分为定义、模式应用前案例、结构、模式应用后案例、适用场景、模式可能存在的困惑和本质探讨7个部分。

定义

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

在新的分类方式中,迭代器模式被划分至类之间的交互类别中,其简化的是调用方对一个或一组对象遍历行为的交互。

一文彻底搞明白迭代器模式-1

模式应用前案例

在银行业务领域中,银行包含很多客户,而一个客户又可能包含多个账户。下面以这个案例进行说明。先来看一下未使用迭代器模式之前的代码实现。

public class Account {//账户类
private final String accountNumber;
private final double balance;

public Account(String accountNumber, double balance) {
this.accountNumber = accountNumber;
this.balance = balance;
}

// 省略其他属性和方法

public String getAccountNumber(){
return this.accountNumber;
}

public double getBalance(){
return this.balance;
}
}

public class Customer {//客户类
private final String name;
private final List accounts;

public Customer(String name) {
this.name = name;
this.accounts = new ArrayList();
}

public void addAccount(Account account) {
this.accounts.add(account);
}

// 遍历账户信息
public void displayAccounts() {
System.out.println("Customer: " + this.name);
//for (Account account : this.accounts) {//底层使用Iterator实现
for(int i=0;i

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论