在 Java 中批量删除数组元素,有五种方法:直接赋值为新数组、system.arraycopy()、arrays.copyof()、arrays.copyofrange() 和使用 arraylist。
如何批量删除 Java 中数组的元素
直接赋值为一个新数组
最简单的方法是将数组直接赋值为一个新数组,只包含所需的元素。例如:
int[] arr = {1, 2, 3, 4, 5}; int[] newArr = {1, 3, 5}; arr = newArr;
使用 System.arraycopy()
立即学习“Java免费学习笔记(深入)”;
System.arraycopy() 方法可以将数组的一部分复制到另一个数组。通过将需要保留的元素复制到新数组中,可以有效地删除不需要的元素。例如:
int[] arr = {1, 2, 3, 4, 5}; int[] newArr = new int[3]; System.arraycopy(arr, 0, newArr, 0, 3);
使用 Arrays.copyOf()
Arrays.copyOf() 方法返回一个指定长度的新数组,包含原数组的一部分。这与 System.arraycopy() 类似,但不需要指定源数组和目标数组的偏移量。例如:
int[] arr = {1, 2, 3, 4, 5}; int[] newArr = Arrays.copyOf(arr, 3);
使用 Arrays.copyOfRange()
Arrays.copyOfRange() 方法返回一个指定范围的新数组,包含原数组的一部分。这允许按索引指定要保留的元素。例如:
int[] arr = {1, 2, 3, 4, 5}; int[] newArr = Arrays.copyOfRange(arr, 1, 4);
使用 ArrayList
Java 中的 ArrayList 是一个动态数组,可以存储不同类型的数据。它提供了 remove() 方法,可以按索引或对象从列表中删除元素。通过将数组元素添加到 ArrayList 中并删除不需要的元素,可以创建一个新数组。例如:
int[] arr = {1, 2, 3, 4, 5}; ArrayList<Integer> list = new ArrayList<>(); for (int i : arr) { list.add(i); } list.remove(1); // 删除索引为 1 的元素 (2) int[] newArr = new int[list.size()]; for (int i = 0; i < list.size(); i++) { newArr[i] = list.get(i); }