Java-列为二维数组的元素

Java-列为二维数组的元素,java,arrays,arraylist,multidimensional-array,Java,Arrays,Arraylist,Multidimensional Array,这可能是个奇怪的问题,但是 如何将列表/阵列列表用作二维阵列的类型 如果我没有正确解释自己: int[][] arrayName = new int[9][9]; 在本例中,我想使用ArrayList,而不仅仅是int,但我不允许这样做。要么这样,要么我可能使用了错误的语法 编辑: 看起来我对我的问题不够清楚(并且写了一个误导性的标题,我的坏,现在修复它) 我所拥有的是一个用2D数组制作的网格,就像上面的例子一样,但是我想要一个整数数组列表作为这个网格的单个单元格的元素 ArrayList&l

这可能是个奇怪的问题,但是

如何将列表/阵列列表用作二维阵列的类型

如果我没有正确解释自己:

int[][] arrayName = new int[9][9];
在本例中,我想使用
ArrayList
,而不仅仅是
int
,但我不允许这样做。要么这样,要么我可能使用了错误的语法

编辑: 看起来我对我的问题不够清楚(并且写了一个误导性的标题,我的坏,现在修复它)

我所拥有的是一个用2D数组制作的网格,就像上面的例子一样,但是我想要一个整数数组列表作为这个网格的单个单元格的元素

ArrayList<Integer>[][] grid = new ArrayList<Integer>()[9][9]
ArrayList[]grid=new ArrayList()[9][9]

像这样的。这是正确的语法吗?我甚至可以这样做吗?

因为您不能在集合中使用基元类型(在您的例子中是int),所以您需要使用integer包装器

所以二维数组列表应该是

List<List<Interger>> array = new ArrayList<List<Interger>>();
List array=new ArrayList();
介于
之间需要是
class
。在您的情况下,
Integer

要制作2D
ArrayList
,可以执行以下操作:

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

ArrayList<Integer> b = new ArrayList<Integer>();
b.add(1); b.add(2); b.add(3); b.add(4); b.add(5); b.add(6);

ArrayList<Integer> c = new ArrayList<Integer>();
c.add(3); c.add(7); c.add(1); c.add(3); c.add(9);

ArrayList<Integer> d = new ArrayList<Integer>();
d.add(8); d.add(3); d.add(3); d.add(8); d.add(3); d.add(6);

ArrayList<Integer> e = new ArrayList<Integer>();
e.add(7); e.add(2); e.add(8);

a.add(b); a.add(c); a.add(d); a.add(e);

for(ArrayList<Integer> aux : a) {

    for(Integer temp : aux) {

        System.out.print(temp + " ");

    }

    System.out.println("");

}

//1 2 3 4 5 6
//3 7 1 3 9 
//8 3 3 8 3 6 
//7 2 8 
ArrayList a=新的ArrayList();
ArrayList b=新的ArrayList();
b、 增加(1);b、 增加(2);b、 增加(3);b、 增加(4);b、 增加(5);b、 增加(6);
ArrayList c=新的ArrayList();
c、 增加(3);c、 增加(7);c、 增加(1);c、 增加(3);c、 增加(9);
ArrayList d=新的ArrayList();
d、 增加(8);d、 增加(3);d、 增加(3);d、 增加(8);d、 增加(3);d、 增加(6);
ArrayList e=新的ArrayList();
e、 增加(7);e、 增加(2);e、 增加(8);
a、 添加(b);a、 添加(c);a、 加(d);a、 加(e);
用于(ArrayList辅助:a){
用于(整数温度:辅助){
系统输出打印(温度+“”);
}
System.out.println(“”);
}
//1 2 3 4 5 6
//3 7 1 3 9 
//8 3 3 8 3 6 
//7 2 8 

您是说ArrayList test=new ArrayList();也许?也许2D数组只是整数数组的数组,正如Charles在评论ArrayList of ArrayList of Integer时指出的,