list集合移除指定元素


list集合移除指定元素

先上問題:

titleList需要根據isShow來過濾這個list集合,看着毫無問題,但在實際運行過程中,並沒有對list集合做到完全過濾。這是為什么?

有事問度娘,經過查找,原因竟然是ArrayList的底層結構是數組類型,數組這種數據結構的特點是刪除其中某個元素時,后面的所有元素索引都會前移,此時for循環的指針卻會下移,因此會略過下一個元素。

解決方案:刪除時將指針回調一次

這樣就可以完美過濾。

這個問題只會出現在使用for進行遍歷的時候,使用迭代器來操作時,不會出現這種問題。


免責聲明!

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



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