import java.util.ArrayList;
public class Test_14_2 {
public static void main(String args[]) {
ArrayList<Integer> arrayList_1 = new ArrayList<Integer>();
ArrayList<Integer> arrayList_2 = new ArrayList<Integer>();
ArrayList<Integer> arrayList_3 = new ArrayList<Integer>();
ArrayList<Integer> arrayList_4 = new ArrayList<Integer>();
arrayList_1.add(0);
arrayList_1.add(1);
arrayList_1.add(2);
arrayList_1.add(3);
arrayList_1.add(4);
arrayList_1.add(5);
arrayList_1.add(6);
arrayList_1.add(7);
arrayList_1.add(8);
arrayList_1.add(9);
arrayList_2 = arrayList_1;
arrayList_3 = arrayList_1;
arrayList_4 = arrayList_1;
for (int a = 0; a < arrayList_1.size(); a++) {
int i = arrayList_1.get(a);
arrayList_2.remove(i);
arrayList_3.remove(i);
arrayList_4.remove(i);
for (int b = 0; b < arrayList_2.size(); b++) {
int j = arrayList_2.get(b);
arrayList_3.remove(j);
arrayList_4.remove(j);
for (int c = 0; c < arrayList_3.size(); c++) {
int m = arrayList_3.get(c);
arrayList_4.remove(m);
for (int d = 0; d < arrayList_4.size(); d++) {
int n = arrayList_4.get(d);
System.out.println(i * 1000 + j * 100 + m * 10 + n);
}
}
}
}
}
}
运行出错:先打印了几个数字,然后提示Exception in thread "main"
java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.remove(ArrayList.java:387)
at Test.Test_14_2.main(Test_14_2.java:36)
。我发现在移除的时候实际是移除了arrayList_1中元素,的为什么会这样? 作者: 尤圣回 时间: 2012-9-24 20:02
对集合进行增删改查最好不要用ArrayListl他是线性表,用链式表会好些作者: 王宝龙 时间: 2012-9-24 20:25 本帖最后由 王宝龙 于 2012-9-24 20:41 编辑