Java中类型为2D数组的ArrayList

时间:2016-01-27 01:28:33

标签: java arraylist multidimensional-array

我已经在代码的开头声明了一个ArrayList:

ArrayList<int[][]> arraylists = new ArrayList<>();

由于Netbeans没有给我一个错误,我假设语法明智,这是一个有效的声明。

我添加了一个像这样的2D数组元素:

int[][] newarray = {{0},{0}};
arraylists.add(newarray);

我这样调用了ArrayList:

int[][] array = arraylists.get(0);

由于我已经向ArrayList添加了一些内容,因此我不会获得索引超出范围的异常。

但是,它没有将2D数组放在索引0处。要调试我试过这样做:

System.out.println("testing");
int[][] array = arraylists.get(0);

输出为:testing

然而,当我尝试这样做时:

int[][] array = arraylists.get(0);
System.out.println("testing");

输出无效

我认为这意味着在ArrayList中获取2D数组存在问题,因为不会弹出其他错误。我认为在从ArrayList获取2D数组后,没有其他任何东西可以提供。程序停在那里。我刚刚开始我的代码所以这就是我到目前为止所做的一切,并且我计划在解决此问题后继续执行代码。请注意,Netbeans没有提醒我说有什么问题。它只是没有工作......

任何人都可以帮我辨别出什么问题吗?

1 个答案:

答案 0 :(得分:1)

可能只是Netbeans很傻。尝试清理项目并重建。这段代码很好用:

public static void main(String[] args) {
    List<int[][]> list = new ArrayList<>();
    list.add(new int[][]{{1,2}, {3,4}});
    int[][] twoD = list.get(0);
    System.out.println(Arrays.deepToString(twoD));
}