ArrayList的java.lang.IndexOutOfBoundsException

时间:2014-01-26 19:24:44

标签: java exception arraylist indexing

我收到此代码的java.lang.IndexOutOfBoundsException。

private List<Integer> LoeschenX = new ArrayList<Integer>();
private List<Integer> LoeschenY = new ArrayList<Integer>();

for (int i : LoeschenY) LoeschenX.add(LoeschenY.get(i));

2 个答案:

答案 0 :(得分:6)

当你这样做时

for (int i : LoeschenY)

您正在遍历LoeschenY元素,而不是索引。您可能希望迭代索引,以便可以使用get(i)

for (int i = 0; i < LoeschenY.size(); i++) 
    LoeschenX.add(LoeschenY.get(i));

请记住,get(index)将返回特定索引中的值。

修改:您也可以尝试

for (int i : LoeschenY) 
    LoeschenX.add(i);

由于i采用LoeschenY元素的值,您会将这些值添加到LoeschenX

答案 1 :(得分:1)

您似乎在迭代Y数组中的元素,但get方法实际上使用元素作为索引的方式这样做。

尝试

for(int i : LoeschenY)
    LoeschenX.add(i);

或者

for(int i = 0; i < LoeschenY.size(); i++)
    LoeschenX.add(LoeschenY.get(i));