auto commit

This commit is contained in:
CyC2018 2018-03-03 12:05:21 +08:00
parent 39ce69bb73
commit e26d655b93

View File

@ -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. 代码实现**