ArrayList中的所有数组都会被覆盖

时间:2014-07-10 07:56:53

标签: java loops arraylist

这里我在一个循环中有一个循环来填充级别但是当它运行时它以相同的方式填充每个ArrayList(整数),所以最后每一行都是完全相同的。当我逐一填写每一个字段时,我无法弄清楚这是怎么可能的。

//... level = new ArrayList<ArrayList<Integer>>();


for(int x = 0; x < currentLevel.getLevelHeight(); x++){
        for(int y = 0; y < currentLevel.getLevelWidth(); y++){
            currentLevel.getLevel().get(x).set(y, Integer.parseInt(allLines.split("\\.")[x].toString().split(";")[y]));
            System.out.print(currentLevel.getLevel().get(x).get(y));
        }
        System.out.println("");
    }

1 个答案:

答案 0 :(得分:2)

您必须已初始化

level = new ArrayList<ArrayList<Integer>>();

严重。只有一个对象ArrayList<Integer>,它会被重复存储以创建列表列表。