如何从数组指定索引移除元素?需在主类中实现该功能
从数组指定索引移除元素的实现方案
要实现从数组中移除指定索引的元素(比如示例中移除数组[3, 5, 6]索引为2的元素,得到[3, 5]),以下是Java主类中的具体实现:
完整代码实现
public class Main { public static void main(String[] args) { int[] originalArray = {3, 5, 6}; int indexToRemove = 2; int[] resultArray = removeElementByIndex(originalArray, indexToRemove); // 验证结果 for (int num : resultArray) { System.out.print(num + " "); // 输出:3 5 } } // 核心方法:移除指定索引的元素 public static int[] removeElementByIndex(int[] array, int index) { // 边界校验:处理空数组或索引越界的情况 if (array == null || index < 0 || index >= array.length) { return array; } // 创建长度减1的新数组(Java数组长度不可变,必须新建) int[] newArray = new int[array.length - 1]; // 复制索引前的元素到新数组 System.arraycopy(array, 0, newArray, 0, index); // 复制索引后的元素到新数组 System.arraycopy(array, index + 1, newArray, index, array.length - index - 1); return newArray; } }
关键说明
- 边界校验:先判断数组是否为空、索引是否在合法范围内,避免运行时异常
- 数组复制:用
System.arraycopy做高效的元素复制,比循环复制性能更优 - 不可变数组处理:Java原生数组长度固定,所以必须创建新数组来存储移除元素后的结果
内容的提问来源于stack exchange,提问作者Adam Cole
相关产品推荐
相关产品推荐

