Java 实例 – 删除数组元素

Java 实例 - 删除数组元素

Java 实例 Java 实例

Java 的数组是固定长度的,无法直接删除,我们可以通过创建一个新数组,把原始数组中要保留的元素放到新数组中即可:

Main.java 文件


import java.util.Arrays;
 
public class RunoobTest {
 
    public static void main(String[] args) {
        int[] oldarray = new int[] {3, 4, 5, 6, 7};// 原始数组
        int num = 2;   // 删除索引为 2 的元素,即删除第三个元素 5
        int[] newArray = new int[oldarray.length-1];// 新数组,长度为原始数组减去 1
        
        for(int i=0;i<newArray.length; i++) {
            // 判断元素是否越界
            if (num < 0 || num >= oldarray.length) {
                throw new RuntimeException("元素越界... "); 
            } 
            // 
            if(i<num) {
                newArray[i] = oldarray[i];
            }
            else {
                newArray[i] = oldarray[i+1];
            }
        }
        // 打印输出数组内容
        System.out.println(Arrays.toString(oldarray));
        oldarray = newArray;
        System.out.println(Arrays.toString(oldarray));
    }
}

以上代码运行输出结果为:


[3, 4, 5, 6, 7]
[3, 4, 6, 7]

我们也可以使用 ArrayList 来实现这个功能,ArrayList 是动态数组,操作起来更加方便。

以下实例演示了如何使用 ArrayList 的 remove () 方法来删除数组列表的元素:

Main.java 文件


import java.util.ArrayList;
 
public class Main {
    public static void main(String[] args)  {
        ArrayList<String> objArray = new ArrayList<String>();
        objArray.clear();
        objArray.add(0,"第 0 个元素");
        objArray.add(1,"第 1 个元素");
        objArray.add(2,"第 2 个元素");
        System.out.println("数组删除元素前:"+objArray);
        objArray.remove(1);
        objArray.remove("第 0 个元素");
        System.out.println("数组删除元素后:"+objArray);
    }
}

以上代码运行输出结果为:


数组删除元素前:[第 0 个元素, 第 1 个元素, 第 2 个元素]
数组删除元素后:[第 2 个元素]

Java 实例 Java 实例

计算机