list集合移除指定元素
先上問題:
titleList需要根據isShow來過濾這個list集合,看着毫無問題,但在實際運行過程中,並沒有對list集合做到完全過濾。這是為什么?
有事問度娘,經過查找,原因竟然是ArrayList的底層結構是數組類型,數組這種數據結構的特點是刪除其中某個元素時,后面的所有元素索引都會前移,此時for循環的指針卻會下移,因此會略過下一個元素。
解決方案:刪除時將指針回調一次
這樣就可以完美過濾。
這個問題只會出現在使用for進行遍歷的時候,使用迭代器來操作時,不會出現這種問題。