◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
java 中删除数组元素的方法有多种:对于可变大小的 arraylist,使用 remove(index) 方法删除特定索引处的元素。使用 arrays.copyof() 方法创建新数组,该数组不包含要删除的元素。使用 system.arraycopy() 方法将原始数组复制到新数组,跳过要删除的元素。使用 java 8 stream 的 filter() 方法根据条件过滤掉要删除的元素。
如何使用 Java 删除数组元素
删除 Java 数组中的元素有多种方法,具体取决于数组的类型和所使用的 Java 版本。
使用 ArrayList
ArrayList 是 Java 中一个可变大小的数组。与原始数组不同,ArrayList 可以通过以下方法删除元素:
立即学习“Java免费学习笔记(深入)”;
ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); // 删除索引为 1 的元素 list.remove(1);
使用 Arrays.copyOf()
Arrays.copyOf() 方法创建一个新数组,该数组包含原始数组的元素子集。可以通过指定要删除的元素索引来创建一个不包含该元素的新数组:
int[] originalArray = {1, 2, 3, 4, 5}; // 创建一个不包含索引为 2 的元素的新数组 int[] newArray = Arrays.copyOf(originalArray, originalArray.length - 1);
使用 System.arraycopy()
System.arraycopy() 方法将数组中的元素复制到另一个数组。可以通过将源数组元素复制到另一个数组中来实现元素删除:
int[] originalArray = {1, 2, 3, 4, 5}; int[] newArray = new int[originalArray.length - 1]; // 将 originalArray 的元素复制到 newArray,但不包括索引为 2 的元素 System.arraycopy(originalArray, 0, newArray, 0, 2); System.arraycopy(originalArray, 3, newArray, 2, 2);
使用 Java 8 Streams
Java 8 引入了 Streams,这是一种可以轻松处理元素集合的高级抽象。可以通过使用 filter() 方法来删除特定元素:
int[] originalArray = {1, 2, 3, 4, 5}; // 过滤掉等于 3 的元素 int[] newArray = Arrays.stream(originalArray) .filter(i -> i != 3) .toArray();
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。