预备知识:
在项目中由于需要,可能会动态的对一个List进行操作,这里说明ArrayList,他的底层是数组的实现,如果你用LinkedList就不会出现这样的问题,因为LinkedList底层是链表的实现。
问题描述:
从上图可以看出在for循环当循环到i=2时,我们将map2remove掉,会发现当紧接着往下走的时候i=3,那么map3这个数据就没有遍历到。会出现一个隐藏的bug,如果平时不注意,在实际开发中,当出现这种问题,还真不好找。
原因:
在remove后,list会依次往上移,此时i却还在递增。所以导致往上移的map没有找到。解决办法自己思考,呵呵。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于