消失的索引-为什么这里需要i - - ?

遍历集合删除一个元素后,为什么要i - -

  • 问题描述:
    电脑随机生成20个取值范围是[1,100]的int类型随机数,删除其中所有的奇数,控制台打印剩下的所有偶数和偶数的总个数。

  • 程序代码:

消失的索引-为什么这里需要i - - ?

  • 执行过程:
    消失的索引-为什么这里需要i - - ?

  • 过程分析:
    如果此时此刻的18是一个奇数,那么就缺少了对18的判断,也就错过了18。因此这里需要i–。当前面的数据删除的时候,i=1,自减之后,i=0。如果程序执行到 循环末尾的大括号位置,i++。变化之后i=1,可以对[1]位置的18进行判断!

  • 拓展:
    不用删除也能实现输出效果的方法:
    创建一个小集合去接收所有偶数,再输出小集合的大小和遍历小集合。
    程序代码:
    消失的索引-为什么这里需要i - - ?执行效果:
    消失的索引-为什么这里需要i - - ?