刪除陣列中的元素
阿新 • • 發佈:2018-12-19
方式一: 建立一個新的陣列,將刪除元素後其餘的元素存在在新的陣列中。
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)); }