java在循环操作remove()集合的时候遇到的问题
在开发中遇到一个bug,发现不足,记录下来
1.场景:
循环List,删除满足条件的内容
2.问题:
循环此时与集合长度不符
3.原因
因为执行了remove操作,导致循环下标穿透,导致内容判断疏漏
4.原理
我特意花了一个图,一图胜千言啊:
5.解决方案
有两种解决方案:
第一种:remove后令循环index执行i--操作
第二种:利用迭代器对集合进行操作
在开发中遇到一个bug,发现不足,记录下来
1.场景:
循环List,删除满足条件的内容
2.问题:
循环此时与集合长度不符
3.原因
因为执行了remove操作,导致循环下标穿透,导致内容判断疏漏
4.原理
我特意花了一个图,一图胜千言啊:
5.解决方案
有两种解决方案:
第一种:remove后令循环index执行i--操作
第二种:利用迭代器对集合进行操作