如何使用未定义数量的数组[]创建java数组[][]



只是出于好奇,基于该代码有没有一种方法可以实现这一点,而不是

int [][]d = { obj[0].ar , obj[1].ar , obj[2].ar };

可以像这个一样在for下写入

for(int i=0;i<obj.ar.length;i++)

或者仅仅使用CCD_ 3将CCD_?

public class Main
{
public static void main(String[] args)
{
int nb = 3;
arr[] obj = new arr[nb];

for(int i=0;i<obj.length;i++)
{
obj[i] = new arr(i+2);
}

int [][]d = { obj[0].ar , obj[1].ar , obj[2].ar };

for(int i=0;i<d.length;i++)
{
for(int j=0;j<d[i].length;j++)
System.out.print(d[i][j]+"t");
System.out.println();
}
}
}
class arr
{
int []ar;
arr(int nb)
{
ar = new int[nb];
for(int i=0;i<ar.length;i++)
ar[i]=i;
}
}

Java数组在创建时必须始终具有确定的大小。

请注意,您总是在对new数组的调用中设置nb,或者通过使用{}实例化器来静态计算对象的数量。

你所要求的可能是ArrayList想要实现的目标。它将随着您的发展而增长,同时在幕后实现阵列。如果数组中无法容纳内容,则会创建一个新的更大的数组来容纳所有内容。不过,在使用时您不会注意到这一点。

ArrayList<ArrayList<Integer>> obj = new ArrayList<>();
obj.add(new ArrayList<>());
obj.add(new ArrayList<>());
obj.add(new ArrayList<>());
// There are now three empty lists, in the main list.

自从java9以来,您可以使用一些额外的助手方法:

List<List<Integer>> obj = List.of(
List.of(1,2,3),
List.of(2,3,4)
);

如果你愿意,你可以实现你自己的ArrayList类,这并不难!

最新更新