迭代器模式
迭代器模式:也叫游标模式,通常用来遍历对象,在容器里面很常见
目的:像树图这种数据结构用户一般写遍历很容易出错,我们进而对他进行封装,统一实现,方便用户操作与选择,也是一种解耦和增加拓展性的方式
为什么ArrayList 的迭代器遍历时,不允许插入删除,因为迭代器使用的是下标记录数组此时位置,数组内的增删会引起下标对象前移或者后移,从而引发bug
LinkedList记录的引用,引发的几率会小一点,但是有风险
容易是怎么避免这种bug的,当容器增加或者删除都会有一个count来记录
初始化迭代器时会把count拷贝一份
每次遍历拿值时都会对比一下,数值不一样则直接抛出异常
还有一种方法是,遍历时,不许插入,添加,但是这样的代价太大了。
评论区