如题所述
这种题,其实是考察你对数组的理解。
实际工作上,一般用List。区别在于,List可动态分配空间,数组长度是定死的。
List其实是对数组的封装,底层也是数组。
解决这个问题的思路(假设删除一个元素):
创建一个新的数组,长度为原来数组减1;
循环复制,匹配的不复制,不匹配的复制到新数组;
代码如下:
public class $ { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; System.out.print("删除前:"); show(arr); // /////////////////////////////////// int[] brr = new int[arr.length - 1]; int idx = 0; for (int i : arr) { if (i != 3) { brr[idx++] = i; } } // /////////////////////////////////// System.out.print("删除后:"); show(brr); } private static void show(int[] arr) { for (int i : arr) { System.out.print(i + ","); } System.out.println(); }}
温馨提示:答案为网友推荐,仅供参考