在Java中,根据数组索引删除素通常有以下几种方法:
使用ArrayList
import java.util.ArrayList;public class RemoveArrayListElement {public static void main(String[] args) {ArrayListnames = new ArrayList<>(); names.add("John");names.add("Mary");names.add("Bob");names.remove(1); // 删除索引为1的素(即"Mary")System.out.println(names); // 输出:[John, Bob]}}
使用Apache Commons Lang3
import org.apache.commons.lang3.ArrayUtils;public class RemoveElementFromArray {public static void main(String[] args) {String[] array = {"1", "3", "6", "7", "9"};array = ArrayUtils.remove(array, 2); // 删除索引为2的素System.out.println(Arrays.toString(array)); // 输出:[1, 3, 7, 9]}}
使用System.arraycopy
public class RemoveElementFromArray {public static void main(String[] args) {int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int[][] newArr = new int[arr.length - 1][];System.arraycopy(arr, 0, newArr, 0, 2); // 删除第一行System.arraycopy(arr, 3, newArr, 2, arr.length - 3);System.out.println(Arrays.deepToString(newArr)); // 输出:[[1, 2], [4, 5, 6, 7, 8, 9]]}}
手动创建新数组
public class RemoveElementFromArray {public static void main(String[] args) {int[] oldArray = {3, 4, 5, 6, 7};int num = 2; // 删除索引为2的素,即删除第三个素int[] newArray = new int[oldArray.length - 1];for (int i = 0, j = 0; i < oldArray.length; i++) {if (i != num - 1) {newArray[j++] = oldArray[i];}}System.out.println(Arrays.toString(newArray)); // 输出:[3, 4, 6, 7]}}
请注意,Java中的数组是固定长度的,因此不能直接删除素。上述方法中,我们通过创建一个新的数组并将原始数组中要保留的素复制到新数组中来实现删除操作。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/133015.html