参考文献
65 | 迭代器模式(上):相比直接遍历集合数据,使用迭代器有哪些优势?<br>
66 | 迭代器模式(中):遍历集合的同时,为什么不能增删集合元素?<br>
67 | 迭代器模式(下):如何设计实现一个支持“快照”功能的iterator?<br>
迭代器的好处
可以定制化自己需要的遍历的方式,如果广度优先,深度优先等,然后让容器实现该接口即可
迭代器让遍历容器的方法和容器解耦
如何解决添加元素存在的问题
遍历的时候不允许添加删除元素
添加或者删除元素,进行迭代器遍历就报错
容器中维护一个modeCount
迭代器中维护一个expectedModCount<br>
在进行迭代器方法执行时,先判断modeCount == expectedModCount?如果不一致,则直接报错