Java 实例 - 数组差集和删除数组元素

Java 实例 - 数组差集和删除数组元素

Java 实例 - 数组差集

以下实例演示了如何使用 removeAll () 方法来计算两个数组的差集:

Main.java 文件

import java.util.ArrayList;

public class Main {

    public static void main(String[] args)  {

        ArrayList objArray = new ArrayList();

        ArrayList objArray2 = new ArrayList();

        objArray2.add(0,"common1");

        objArray2.add(1,"common2");

        objArray2.add(2,"notcommon");

        objArray2.add(3,"notcommon1");

        objArray.add(0,"common1");

        objArray.add(1,"common2");

        objArray.add(2,"notcommon2");

        System.out.println("array1 的元素" +objArray);

        System.out.println("array2 的元素" +objArray2);

        objArray.removeAll(objArray2);

        System.out.println("array1 与 array2 数组差集为:"+objArray);

    }

}

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

array1 的元素[common1, common2, notcommon2]

array2 的元素[common1, common2, notcommon, notcommon1]

array1 与 array2 数组差集为:[notcommon2]

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 个元素]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好知识传播者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值