Java中用于创建具有任意维数的数组的方法
在Java中,是否可以创建一个方法来返回一个数组,数组的维数由参数传递
以下是我目前掌握的代码:
public static Object buildMultiDimensionalArray(int numDimensions) {
if (numDimensions==1) {
return new int[1];
}
if (numDimensions==2) {
return new int[2][2];
}
if (numDimensions==3) {
return new int[3][3][3];
}
if (numDimensions==4) {
return new int[4][4][4][4];
}
if (numDimensions==5) {
return new int[5][5][5][5][5];
}
if (numDimensions==6) {
return new int[6][6][6][6][6][6];
}
// and so on...
return null;
}
但这只适用于高达6的维度
是否有可能使此方法适用于任意数量的尺寸
# 1 楼答案
您可以返回具有显式容量的一维数组,并将其作为多维数组进行解析
# 2 楼答案
这样的多维数组在代码中很少见到。也许您可以尝试使用元组的一维数组(d1,d2…)映射到一维数组索引,相同的幂。例如,要访问映射到(2*8+3)一维数组a[48]的[6][8]的第2行和第3列
# 3 楼答案
# 4 楼答案
https://pastebin.com/k0hqcu5Y