bru*_*ais 1 java multidimensional-array
如果我在编译时知道数组的格式,我已经知道如何在Java中创建不同长度的数组.
例如:
char[][] array = { { 'a', 'b', 'c'}, {'d'}, {'e', 'f'}}; //etc....
Run Code Online (Sandbox Code Playgroud)
问题是我需要在运行时制作.我不知道在编译时我需要的数组大小,但我会在运行时知道它.
这里的目标是在java中创建(并且在java中具有数组的优点(如.length))来制作C中的内容:
char[][] arrayC = malloc(outerArraySize);
for(int i = 0; i < outerArraySize; i++){
arrayC[i] = malloc(innerArraySize[i]);
}
Run Code Online (Sandbox Code Playgroud)
这个C代码在这里特别制作,因此它可能包含错误,但它的目的只是澄清问题消息.
无论如何在Java中正确地做到这一点?
当然 - 只需使用数组创建表达式:
char[][] array = new char[outerArraySize][];
for (int i = 0; i < outerArraySize; i++) {
array[i] = new char[innerArraySize[i]];
}
Run Code Online (Sandbox Code Playgroud)
您可能还需要考虑使用字符串而不是字符数组,具体取决于具体情况.