初始化一个List容器
![](https://i-blog.csdnimg.cn/blog_migrate/82e02d1a253a46a236a279dcd39decd6.png)
问题:博主平时喜欢打王者荣耀这种moba类推塔游戏,喜欢玩的位置是上单,俗称孤儿对抗路。在List容器中放入吕布、马超等8个英雄,其中有2个不属于对抗路,请删除 List 中姓李的这两个打野英雄,你有几种方式呢?
1.普通 for 循环删除(不可靠)
![](https://i-blog.csdnimg.cn/blog_migrate/654ac83a3410f3df7fa287cdfbe00eed.png)
输出结果:
![](https://i-blog.csdnimg.cn/blog_migrate/5116f0a10c1ab35a372750fa9f8b29da.png)
WC,李信没删干净?
问题就出在 list.size(),因为 list.size() 和 i 都是动态变化的,i 的值一直在累加,list.size() 一直在减少,所以 list 就会早早结束了循环。
所以这种方式虽然不会报错,但存在隐患,并且不容易被察觉,不建议使用。
2.普通 for 循环提取变量删除(抛异常)
![](https://i-blog.csdnimg.cn/blog_migrate/c68922db0628d3559c6d314afa9d0629.png)
输出结果: