我想从数组中删除元素

时间:2018-01-04 09:00:45

标签: arrays indexing element

我该怎么做?我的数组是[1,2,3,4,5]后,我试图删除索引0,结果看起来像[2,2,3,4,0]

 public static void remove (int[] array, int index) {
    for (int i = index; i < array.length - 1; i++)
    {
        array[index] = array[index+1];
    }
    array[array.length-1] = 0;
}

2 个答案:

答案 0 :(得分:0)

您可能希望将循环中的行更改为

array[i] = array[i+1];

答案 1 :(得分:0)

您可以使用 ArrayUtils 类从数组中删除元素,而不是自己删除。

要记住的一点是,在Java中,数组是固定大小的,一旦创建了数组,就无法更改它们的大小,这意味着删除或删除项目不会减小数组的大小。

您可以使用 -

删除
  

arrayName = ArrayUtils.remove(arrayName,index_to_remove)

您需要做的是创建一个新数组,并使用 System.arrayCopy()或任何其他方法将此数组的剩余内容复制到新数组中。

对于Object数组,您还可以将Array转换为List,然后删除特定对象并将List转换回数组

相关问题