删除ArrayList中的元素

菜鸡重大发现:删除arraylist时,每删除一个元素后面的元素会自动填充

 1 public static void main(String[] args) {
 2         List<String> list = new ArrayList<String>();  
 3         list.add("a");  
 4         list.add("b");  
 5         list.add("c");  
 6         list.add("d");  
 7         list.add("e");  
 8         list.add("f");  
 9         list.add("g");  
10         list.add("h");
11         System.out.println(list.get(0)+","+list.size());
12         
13         for(int i=0;i<4;i++){
14             list.remove(i);
15         }
16         for(int i=0;i<list.size();i++){
17             System.out.println(list.get(i));
18         }
19         
20     }

结果为:

a,8
b
d
f
h

所以顺序删除最初插入的元素进行如下修改:

list.remove(i);
list.remove(0);

得到理想结果:

a,8
e
f
g
h

否则在进行大规模的arraylist处理时会发生越界错误:

Exception in thread "pool-2-thread-4" java.lang.IndexOutOfBoundsException: Index: 14, Size: 13
原文地址:https://www.cnblogs.com/fireyjy/p/4664898.html