java removeAll 返回2个数组的差集,retainAll 2个数组的交集,并集处理

  • 注意:removeAll不是差集
import java.util.ArrayList;
public class ImoocStudent {
    public static void main(String args[]){
     
        ArrayList<String> objArray = new ArrayList<String>();
        ArrayList<String> objArray2 = new ArrayList<String>();

        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);

        // array1 与 array2的差集 和 array2 与 array1的差集不是一回事
        System.out.println("array1 与 array2 数组差集为:"+objArray);
    }
}

  • retainAll 处理2个数组的交集

import java.util.ArrayList;


public class ImoocStudent {

    public static void main(String args[]){
        ArrayList<String> objArray = new ArrayList<String>();
        ArrayList<String> objArray2 = new ArrayList<String>();

        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.retainAll(objArray2);
        System.out.println("array2 & array1 数组的交集为:" + objArray);
    }

}

  • 并集

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;


public class ImoocStudent {

    public static void main(String[] args) throws Exception{
        String[] arr1 = {"1","2","3"};
        String[] arr2 = {"4","5","6","3"};
        String[] result_union = union(arr1,arr2);
        System.out.println("并集的结果如下:");
        for(String str : result_union){
            System.out.println(str);
        }
    }

    public static String[] union(String[] arr1,String[] arr2){
        Set<String> set = new HashSet<String>();
        for(String str : arr1){
            set.add(str);
        }

        for(String str : arr2){
            set.add(str);
        }

        String[] result = {};
        return set.toArray(result);
    }

}

posted @   盘思动  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2021-05-25 6-20 位密码交验正则
2020-05-25 shell 备份数据库
2020-05-25 shell 备份数据库,并移动到备份数据库
2020-05-25 shell脚本实现取当前时间
2018-05-25 ubuntu 16.04 镜像下载
点击右上角即可分享
微信分享提示