先看看下面几段代码,1是foreach的方式去遍历list并删除元素,2是用迭代器的方式遍历list并删除元素,3是下标遍历 1. foreach public void testDel(){ List<Integer> list = Lists.newArrayList(); for(int i=1;i<=5;i++){ list.add(i); } for(Integer ele : list){ if(ele == 3) list.remove(e...
2. * 这种遍历有可能会遗漏某个元素,因为删除元素后List的size在 3. * 变化,元素的索引也在变化,比如你循环到第2个元素的时候你把它删了, 4. * 接下来你去访问第3个元素,实际上访问到的是原先的第4个元素。当访问的元素 5. * 索引超过了当前的List的size后还会出现数组越界的异常,当然这里不会出现这种...