auto commit
This commit is contained in:
parent
39ce69bb73
commit
e26d655b93
|
@ -1152,11 +1152,15 @@ Tea.addCondiments
|
|||
|
||||
**1. 模式定义**
|
||||
|
||||
提供一种顺序访问一个聚合对象中的各个元素的方法,而又不暴露其内部的表示。
|
||||
提供顺序访问一个聚合对象中的各个元素的方法,而又不暴露聚合对象内部的表示。
|
||||
|
||||
**2. 模式类图**
|
||||
|
||||
客户类拥有一个聚合对象和迭代器对象,迭代器对象是聚合对象生成的。只需要迭代器定义好移动的操作,就可以让聚合对象能够顺序遍历。
|
||||
- Aggregate 是聚合类,其中 createIterator() 方法可以产生一个 Iterator 对象;
|
||||
|
||||
- Iterator 主要定义了 hasNext() 和 next() 方法。
|
||||
|
||||
- Client 需要拥有一个 Aggregate 对象,这是很明显的。为了迭代变量 Aggregate 对象,也需要拥有 Iterator 对象。
|
||||
|
||||
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics//439deca7-fed0-4c89-87e5-7088d10f1fdb.jpg)
|
||||
|
||||
|
@ -1180,12 +1184,14 @@ public class Aggregate {
|
|||
|
||||
}
|
||||
```
|
||||
|
||||
```java
|
||||
public interface Iterator {
|
||||
boolean hasNext();
|
||||
int next();
|
||||
}
|
||||
```
|
||||
|
||||
```java
|
||||
public class ConcreteIterator implements Iterator {
|
||||
|
||||
|
@ -1236,7 +1242,11 @@ public class Client {
|
|||
|
||||
**1. 实现接口**
|
||||
|
||||
Java 中已经有了 Iterator 接口,在使用 Java 实现时,需要让聚合对象实现 Iterable 接口,该接口有一个 iterator() 方法会返回一个 Iterator 对象。使用 Java 内置的迭代器实现,客户对象可以使用 foreach 循环来遍历聚合对象中的每个元素。
|
||||
在使用 Java 的迭代器实现时,需要让聚合对象去实现 Iterable 接口,该接口有一个 iterator() 方法会返回一个 Iterator 对象。
|
||||
|
||||
使用 Java 内置的迭代器实现,客户对象可以使用 foreach 循环来遍历聚合对象中的每个元素。
|
||||
|
||||
Java 中的集合类基本都实现了 Iterable 接口。
|
||||
|
||||
**2. 代码实现**
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user