在項目中因爲須要,可能會動態的對一個List進行操做,這裏說明ArrayList,他的底層是數組的實現,若是你用LinkedList就不會出現這樣的問題,由於LinkedList底層是鏈表的實現。數組
從上圖能夠看出在for循環當循環到i=2時,咱們將map2remove掉,會發現當緊接着往下走的時候i=3,那麼map3這個數據就沒有遍歷到。會出現一個隱藏的bug,若是平時不注意,在實際開發中,當出現這種問題,還真很差找。spa
在remove後,list會依次往上移,此時i卻還在遞增。因此致使往上移的map沒有找到。解決辦法本身思考,呵呵。blog