Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中创建动态2D数组_Java_Arrays - Fatal编程技术网

如何在java中创建动态2D数组

如何在java中创建动态2D数组,java,arrays,Java,Arrays,我正在读Java中的数组。我想用java动态创建一个2D数组。我知道我必须使用Arraylist,但我不知道如何实际将元素写入位置 我来自C语言背景。使用for循环创建动态数组并向其中添加元素非常容易。然而,同样的逻辑在这里不起作用。我读过另一个答案,但它们没有帮助,它们要么使用高级概念,要么使用静态声明 ArrayList<Integer> Arr1=new ArrayList<>(); ArrayList<ArrayList<Integer

我正在读Java中的数组。我想用java动态创建一个2D数组。我知道我必须使用Arraylist,但我不知道如何实际将元素写入位置

我来自C语言背景。使用for循环创建动态数组并向其中添加元素非常容易。然而,同样的逻辑在这里不起作用。我读过另一个答案,但它们没有帮助,它们要么使用高级概念,要么使用静态声明

ArrayList<Integer> Arr1=new ArrayList<>();
        ArrayList<ArrayList<Integer>> Arr2=new ArrayList<ArrayList<Integer>>();
        for(int i=0;i<rows;i++){
            for(int j=0;j<columns;j++){
                Arr1.add(j);
            }
            Arr2.add(Arr1);
        }
ArrayList Arr1=new ArrayList();
ArrayList Arr2=新的ArrayList();

对于(int i=0;i您需要为每一个新行重新初始化Arr1。类似如下:

    int rows = 3, columns = 4;
    ArrayList<Integer> Arr1;
    ArrayList<ArrayList<Integer>> Arr2 = new ArrayList<>();
    for (int i = 0; i < rows; i++) {
        Arr1 = new ArrayList<>();
        for (int j = 0; j < columns; j++) {
            Arr1.add(j);
        }
        Arr2.add(Arr1);
    }
    System.out.println(Arr2);
int行=3,列=4;
arraylistarr1;
ArrayList Arr2=新的ArrayList();
对于(int i=0;i
其中应包括:

[0,1,2,3],[0,1,2,3],[0,1,2,3]]


您可以使用下面的代码

   ArrayList<ArrayList<Integer>> Arr2=new ArrayList<ArrayList<Integer>>();
for(int i=0;i<rows;i++){
    ArrayList<Integer> Arr1=new ArrayList<>();
    for(int j=0;j<columns;j++){
        Arr1.add(j);
    }
    Arr2.add(Arr1);
}
ArrayList Arr2=new ArrayList();
对于(inti=0;i这个怎么样

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

for(int i=0;i<rows;i++){
    ArrayList<Integer> Arr2=new ArrayList<Integer>();
    for(int j=0;j<columns;j++){
        Arr2.add(j);
    }
    Arr1.add(Arr2);
}
ArrayList Arr1=new ArrayList();
for(int i=0;ithat不是基元数组..第二,如果使用arraylist,则应在第一个for循环中创建新的Arr1..否则,您只需追加到设置的旧行。