如何在 Java 中删除数组中某个数字?使用 Arrays.sort() 和 System.arraycopy() 可按以下步骤删除特定数字:1. 对数组进行排序。2. 找到目标数字的索引。3. 创建一个新数组,大小为原始数组长度减去 1。4. 使用 System.arraycopy() 复制所需元素到新数组中。5. 将新数组分配给原始数组。此外,还可以使用 for 循环手动遍历数组并在找到目标数字时进行删除。

如何在 Java 中删除数组中某个数字
直接方法:使用 Arrays.sort() 和 System.arraycopy()
该方法通过对数组进行排序,然后使用 System.arraycopy() 从排序后的数组中复制所需元素,从而删除特定数字。
- 对数组进行排序:
Arrays.sort(arr); - 找到目标数字在排序后数组中的索引:
int index = Arrays.binarySearch(arr, target); - 如果目标数字存在,则为正数索引,否则为负数索引。
- 如果目标数字存在,创建一个新数组,大小为原始数组长度减去 1:
int[] newArr = new int[arr.length - 1]; - 使用 System.arraycopy() 复制所需元素到新数组中:
System.arraycopy(arr, 0, newArr, 0, index); System.arraycopy(arr, index + 1, newArr, index, arr.length - index - 1);- 将新数组分配给原始数组:
arr = newArr;
手动方法:使用 for 循环
立即学习“Java免费学习笔记(深入)”;
该方法使用 for 循环遍历数组并在找到目标数字时进行删除。
- 使用 for 循环遍历数组:
for (int i = 0; i - 检查当前元素是否与目标数字相等:
if (arr[i] == target) { - 如果相等,则使用 for 循环将后续元素向前移动一位,覆盖当前元素:
for (int j = i + 1; j arr[j - 1] = arr[j];}- 递减数组长度:
arr.length--; - 退出 for 循环:
break; }











