1. 为什么要用iterator模式
代码和集合本身是紧耦合,
无法将访问逻辑从集合类和客户端代码中分离出来,
每一种集合对应一种遍历方法,客户端代码无法复用。
2.iterator的优缺点
1.访问一个聚合对象的内容而无需暴露它的内部表示。
2.支持对聚合对象的多种遍历。
3.为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。
1. 简单,通用
对于hash表也可方便遍历
2. 方便
既有正序遍历,可有倒序,方便使用
3. 封装性良好
各种集合遍历方法相同,内部封装不需关心
缺点:对简单集合略复杂
3. iterator的实现案例