要删除 Java 数组中的值,可以使用两种方法:使用 arrays.copyof() 创建原始数组的副本,省略指定索引处的元素。使用 system.arraycopy() 将原始数组的部分内容复制到新数组中,跳过要删除的元素。
如何删除数组中的值(Java)
回答:
要删除 Java 数组中的值,可以使用以下两种方法:
方法 1:使用 Arrays.copyOf()
立即学习“Java免费学习笔记(深入)”;
此方法创建一个新数组,其中包含原始数组中所有元素,但省略要删除的元素。
语法:
int[] newArray = Arrays.copyOf(originalArray, originalArray.length - 1);
方法 2:使用 System.arraycopy()
此方法将原始数组的部分内容复制到新数组中,跳过要删除的元素。
语法:
int[] newArray = new int[originalArray.length - 1]; System.arraycopy(originalArray, 0, newArray, 0, index); // 复制到删除点之前的内容 System.arraycopy(originalArray, index + 1, newArray, index, originalArray.length - index - 1); // 复制删除点之后的内容
展开回答:
使用 Arrays.copyOf() 删除值
该方法简单且易于使用,它创建了一个原始数组的副本,但省略了指定索引处的元素。原始数组保持不变。
使用 System.arraycopy() 删除值
该方法需要更多步骤,但它允许更灵活地删除多个元素或修改数组的大小。该方法还创建了原始数组的副本,跳过了要删除的元素。
示例:
删除数组 originalArray 中索引为 2 的元素:
方法 1:
int[] newArray = Arrays.copyOf(originalArray, originalArray.length - 1);
方法 2:
int[] newArray = new int[originalArray.length - 1]; System.arraycopy(originalArray, 0, newArray, 0, 2); // 复制到删除点之前的内容 System.arraycopy(originalArray, 3, newArray, 2, originalArray.length - 3); // 复制删除点之后的内容
注意:
- 如果尝试删除不存在的索引处的元素,会抛出 IndexOutOfBoundsException 异常。
- 这两种方法都不会修改原始数组。