Vol*_*ile 5 java multidimensional-array variable-length-array
可以执行可变长度列,例如:
private int k[][] = new int[3][];
for(int i = 0; i < k.length; i++) {
k[i] = new int[i+1];
}
Run Code Online (Sandbox Code Playgroud)
我想知道如果您知道列的长度,是否可以进行可变长度的行?:
private int k[][] = new int[][5];
for(int i = 0; i < k.length; i++) {
// How would you do this?
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
基本上你不能。“多维”数组只是数组的数组。因此,您必须首先知道“外部”数组的大小,才能创建它。
所以你的选择是:
array[column][row]不是array[row][column]请改用列表,以便您可以随时添加新行:
List<Object[]> rows = new ArrayList<Object[]>();
for (SomeData data : someSource) {
Object[] row = new Object[5];
...
rows.add(row);
}
Run Code Online (Sandbox Code Playgroud)
(或者更好的是,将“行”的概念封装在一个单独的类中,这样您就有了一个List<Row>。)
| 归档时间: |
|
| 查看次数: |
13462 次 |
| 最近记录: |