1. 程式人生 > >刪除陣列中的元素

刪除陣列中的元素

方式一:  建立一個新的陣列,將刪除元素後其餘的元素存在在新的陣列中。

public static void main(String[] args) {
        // 建立一個數組
        int[] arr = new int[] { 1, 2, 3, 4, 5 };
        // 列印陣列
        System.out.println(Arrays.toString(arr));

        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入要刪除第幾個元素:");
        int n = sc.nextInt(); //用來儲存要刪除陣列的位置

        // 定義一個新的陣列用來存放刪除後的陣列,長度為原來陣列-1
        int[] arrNew = new int[arr.length - 1];

        // 迴圈遍歷刪除第n個元素,並將剩餘元素放入新陣列
        for (int i = 0, j = 0; i < arr.length; i++) {
            if (i != (n - 1)) { //刪除元素的索引為n-1
                arrNew[j] = arr[i];
                j++;
            }
        }

        //最後列印新陣列
        System.out.println(Arrays.toString(arrNew));
    }

方式二  將要刪除的元素與最後一個元素交換位置,然後將陣列的個位-1。

public static void main(String[] args) {


          int[] arr = new int[]{1,2,3,4,5};

          System.out.println(Arrays.toString(arr));
          Scanner sc =new Scanner(System.in);
          System.out.println("請輸入要刪除第幾個元素:");
          int n = sc.nextInt();

          //把最後一個元素替代指定的元素
          arr[n-1] = arr[arr.length-1];

          //陣列縮容
          arr = Arrays.copyOf(arr, arr.length-1);
          System.out.println(Arrays.toString(arr));
    }