淺談迭代器的刪除方法和集合的刪除方法


1.迭代器的遍歷原理,
首先,我們先來聊一下迭代器的迭代原理,這里以集合為例。通常迭代器在集合中可以作為遍歷集合中元素的一種方式,如下代碼,通過集合的list.Iterator()方法得到迭代器,然后進入while循環,執行it.hasNext()語句判斷集合中下一個對象是否存在,存在進循環。執行it.nest()拿到下一個對象,然后再回到it.hasNext()....知道it.hasNext()判斷無下一個對象的時候,結束循環。這里特別提一下集合中的增強for也就是foreach循環的底層也是迭代器循環


Iterator it=list.iterator(); while(it.hasNext()){ System.out.println(it.next()); }

2.迭代器的內存分析,通過迭代器刪除對象可以保證兩個線程的同步(可以去看迭代器的刪除方法和集合刪除方法的源碼)

   

              總結,迭代過程中不能使用集合的remove方法刪除,只能使用迭代器的it.remove()去刪除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM