重建Java数组的索引

时间:2009-07-14 08:51:29

标签: java arrays

我在Java中有一个二维Object数组。 一些索引既不使用也不使用,因为在数组填充期间跳过了.i 数组看起来像:

Array[0][0]
Array[0][1]
Array[0][2]
Array[1][0]
Array[1][1]
Array[1][2]
Array[3][0]
Array[3][1]
Array[3][2]

缺少 2 ,如何重建索引以使数组“正确”?

2 个答案:

答案 0 :(得分:2)

如果您有一个未填充的元素(或一组元素),您只需使用以下内容提供缺失值:

Array[2] = new Object[3];

或者你想要压缩阵列?如果是后者,只需创建一个新数组

Object[] NewArray = new Object[Array.length-1];

并遍历Array,跳过空值。

int j = 0;
for (int i = 0; i < Array.length; i++) {
   if (Array[i] != null) {
      NewArray[j++]=Array[i];
   }
}

不幸的是,一旦数组被创建就无法调整数量(如果你想要更多的动态行为,请使用ArrayList)。

答案 1 :(得分:1)

嗯,你有没有想过:

array[2] = array[3];
array[3] = null;