迭代器模式
2022-08-01 15:54:12 11 举报
AI智能生成
迭代器模式
作者其他创作
大纲/内容
定义
用来遍历容器对象,如List,Map,Set等
参考文献
65 | 迭代器模式(上):相比直接遍历集合数据,使用迭代器有哪些优势?
66 | 迭代器模式(中):遍历集合的同时,为什么不能增删集合元素?
67 | 迭代器模式(下):如何设计实现一个支持“快照”功能的iterator?
实现方式
创建迭代器接口
创建迭代器类,实现迭代器接口
容器内部提供迭代器方法,返回迭代器
容器遍历方式比较
for循环
foreach
使用迭代器的语法糖
迭代器
维护一个类来对容器进行遍历
迭代器的好处
可以定制化自己需要的遍历的方式,如果广度优先,深度优先等,然后让容器实现该接口即可
迭代器让遍历容器的方法和容器解耦
迭代器使用中添加或者删除元素会存在什么问题
会导致遍历不到或者重复遍历
如何解决添加元素存在的问题
遍历的时候不允许添加删除元素
添加或者删除元素,进行迭代器遍历就报错
容器中维护一个modeCount
迭代器中维护一个expectedModCount
在进行迭代器方法执行时,先判断modeCount == expectedModCount?如果不一致,则直接报错
0 条评论
下一页