瞎扯
又到了水一水的時候了.
爲什麼要有迭代器.
next
就是讀下一個元素.迭代器的原則就是.
不管,你怎麼實現.
迭代器只會一直取下一個值,直到沒有爲止.
應用場景
一般來說,用這個玩意了,說明要動態刪除元素了.
也就是遍歷的時候刪除.
正常情況下,不管用foreach還是for循環.都會拋出異常.
就是告訴你,不能直接刪除集合元素,
但是迭代器不會.
爲什麼呢?
爲什麼用迭代器刪除,不會拋出異常.
其實原理很簡單.
迭代器會copy集合的所有元素.進行遍歷,也就是
copy一份元素的地址值過來.
但是當你調用了迭代器遍歷刪除的時候.
不會刪除迭代器copy的這些值.而是會刪除集合的值.
所以迭代器會不受影響的從頭到尾的遍歷下去.
而且集合的元素也成功刪除了.