例如,我有一个二维数组:
1 2 3 4 5
6 7 8 9 10
11 12
它是一个3乘5阵列。但是,在第三行中,我只需要填充两个单元格。其余的是不必要的,但在初始化阵列时会创建它。
我想这样做的原因是我的实际数组行非常长,因此可能会浪费大量内存,因为我只需要在第3行使用两个单元格。
有没有办法在数组填满后缩短第三行以包含两个单元格?
我不确定它是否可能,或者它是最好的方法。谢谢。
答案 0 :(得分:4)
您无法在java中缩小数组,因为您无法更改其长度,但您可以将二维数组的内部数组设置为不同长度的数组。
int[][] ar = new int[3][];
ar[0] = new int[]{1, 2, 3, 4, 5};
ar[1] = new int[]{6, 7, 8, 9, 10};
ar[2] = new int[]{11, 12};