瞎扯
又到了水一水的时候了.
为什么要有迭代器.
next
就是读下一个元素.迭代器的原则就是.
不管,你怎么实现.
迭代器只会一直取下一个值,直到没有为止.
应用场景
一般来说,用这个玩意了,说明要动态删除元素了.也就是在遍历的时候删除.或者遍历一些set,map.
正常情况下,不管用foreach还是for循环.都会抛出异常.
就是告诉你,不能直接删除集合元素,
但是迭代器不会.
为什么呢
其实原理很简单.
迭代器会copy要遍历的集合的所有元素.然后对copy的元素进行遍历,也就是
copy一份元素的地址值过来.
但是当你调用了迭代器remove
方法时.
却不会删除迭代器中copy的这些.而是会去删除集合中对应位置的.
这样迭代器就会不受影响的从头到尾的遍历下去.
而且集合的元素也成功删除了.
交流群:493180098,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.
网友评论