如何用迭代器模式高效处理长尾词生成?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1808个文字,预计阅读时间需要8分钟。
文章目录
1.理论基础
2.逻辑代码
3.应用
3.1 vector迭代器(问题待解决,高手解答) 1. 理论基础:提供一种方法按顺序访问一个聚合对象中的各个元素文章目录
- 1. 理论基础
- 2. 逻辑代码
- 3. 应用
- 3.1 vector迭代器 (有问题,等待高手解决)
1. 理论基础
意图:
提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
主要解决:
不同的方式来遍历整个整合对象。
何时使用:
遍历一个聚合对象。
如何解决:
把在元素之间游走的责任交给迭代器,而不是聚合对象。
关键代码:
定义接口:hasNext, next。
应用实例:
C++中的 iterator。
优点:
1、它支持以不同的方式遍历一个聚合对象。
2、迭代器简化了聚合类。
3、在同一个聚合上可以有多个遍历。
4、在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。
缺点:
由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,这在一定程度上增加了系统的复杂性。
本文共计1808个文字,预计阅读时间需要8分钟。
文章目录
1.理论基础
2.逻辑代码
3.应用
3.1 vector迭代器(问题待解决,高手解答) 1. 理论基础:提供一种方法按顺序访问一个聚合对象中的各个元素文章目录
- 1. 理论基础
- 2. 逻辑代码
- 3. 应用
- 3.1 vector迭代器 (有问题,等待高手解决)
1. 理论基础
意图:
提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
主要解决:
不同的方式来遍历整个整合对象。
何时使用:
遍历一个聚合对象。
如何解决:
把在元素之间游走的责任交给迭代器,而不是聚合对象。
关键代码:
定义接口:hasNext, next。
应用实例:
C++中的 iterator。
优点:
1、它支持以不同的方式遍历一个聚合对象。
2、迭代器简化了聚合类。
3、在同一个聚合上可以有多个遍历。
4、在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。
缺点:
由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,这在一定程度上增加了系统的复杂性。

