瞎扯
又到了水一水的时候了.
为什么要有迭代器.
next
就是读下一个元素.迭代器的原则就是.
不管,你怎么实现.
迭代器只会一直取下一个值,直到没有为止.
应用场景
一般来说,用这个玩意了,说明要动态删除元素了.
也就是遍历的时候删除.
正常情况下,不管用foreach还是for循环.都会抛出异常.
就是告诉你,不能直接删除集合元素,
但是迭代器不会.
为什么呢?
为什么用迭代器删除,不会抛出异常.
其实原理很简单.
迭代器会copy集合的所有元素.进行遍历,也就是
copy一份元素的地址值过来.
但是当你调用了迭代器遍历删除的时候.
不会删除迭代器copy的这些值.而是会删除集合的值.
所以迭代器会不受影响的从头到尾的遍历下去.
而且集合的元素也成功删除了.