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 @ 2023-05-25 16:16  盘思动  阅读(94)  评论(0)    收藏  举报