Java删除数组指定元素,并压缩数组

来源:互联网 发布:csdn 算法岗面试 编辑:程序博客网 时间:2024/06/01 10:43

这里写图片描述

定义原数组和接收结果的数组  int[] array1 = new int[]{1, 8, 6, 5, 7, 12, 31, 89, 100};  int[] result;   printArray(array1);   result = resetArray(array1, 31);   printArray(result);  //下面是具体实现方法   private int[] resetArray(int[] array1, int element) {        int index = -1;        for (int i = 0; i < array1.length; i++) {            if (array1[i] == element) {                index = i;                break;            }        }        if (index == -1) {            //如果不含这个元素,就原样返回            return array1;        }        int[] array2 = new int[array1.length - 1];        if (index == array1.length - 1) {            array2 = Arrays.copyOf(array1, array1.length - 1);        } else {            for (int i = 0; i < array1.length; i++) {                if (i < index) {                    array2[i] = array1[i];                } else if (i >= index && i < array1.length - 1) {                    array2[i] = array1[i + 1];                }            }        }        return array2;    }   //打印数组    private void printArray(int[] array) {        String result = "[";        for (int i = 0; i < array.length; i++) {            result = result + array[i] + ",";            if (i == array.length - 1) {                result = result.substring(0, result.length() - 1) + "]";            }        }        System.out.println("输出:" + result);    }

下面是运行之后的结果
这里写图片描述
这里写图片描述
这里写图片描述