删除指定的下标的元素,要求从删除的位置开始,之后的元素前移一位

/**
 *    删除指定的下标的元素,要求从删除的位置开始,之后的元素前移一位
 */
public class Demo1 {
    public static void main(String[] args) {
        int[] array =new int[]{1,2,3,4};
        //调用方法
        boolean remove = remove(array,2);
        System.out.println(remove);
        System.out.println(Arrays.toString(array));
    }

    /*
    * 方法名  remove
    * 方法返回值  boolean类型
    * 方法参数  int[] 数组,int 数据(要求删除的元素的下标)
    *
    * */
    public static boolean remove(int[] arr,int index){
        //首先判断一下参数的合法性,提高程序的健壮性
        if (arr.length == 0 || index < 0 || index > arr.length - 1){
            System.out.println("输入参数不合法");
            return false;
        }

        for (int i = index; i < arr.length - 1; i++) {//i < arr.length - 1 的目的是防止数组下标越界报错
            arr[i] = arr[i + 1];
//实现指定元素的删除,被后一个元素的值覆盖,移动的原则,从被删除那个数的后面依次向前移动
        }
        arr[arr.length - 1] = 0;
        //给最后一个元素赋值
        return true;
    }
}

 

上一篇:[LeetCode] 1909. Remove One Element to Make the Array Strictly Increasing


下一篇:ThreadLocal学习总结