Enumeration 使用中一些经验
? ? ?
上面这段代码,就是v.remove(Object o)的主核心代码
分析:
先看第一段代码:
从代码中,我们得知Enumenation.nextElement 会将指针下划到下一个元素
在看第二段代码:
从代码中,我们得知v.remove 进行操作时,是将后面的数组覆盖掉 所要删除元素的位置,最后一个则用null
现在我们理顺下思路吧,
v 里面存放的数是 0 1 2 3 4 5 6 7 8 9
首先e.nextElement() 指针所在位置就是 0,也就是数组的第一个索引
当我们进行v.reomve的时候,后面的数组覆盖了前面的数组
v.remove 处理完后: 1 2 3 4 5 6 7 8 9
这时候,进入下次循环
e.nextElement() 这时候的指针位置就是 2, 而漏过了 1 这个数据,
循环结束后,就漏掉了5个数,
所以,大家在做这样的remove的时候,需要特别注意下