List集合取交集、并集、差集

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40803477/article/details/80765996

List集合的交、并、差集

package com.company;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("aaa");
        list.add("aaa");
        list.add("bbb");
        list.add("bbb");
        list.add("ccc");
        list.add("eee");
        list.add("fff");
        list.add("eee");

        List newList = new ArrayList();
        newList.add(111);
        newList.add(222);
        newList.add(333);
        newList.add(444);
        newList.add(555);
        newList.add(666);
        newList.add(777);
        newList.add(888);
        newList.add(999);
        newList.add("fff");

        /*List totalList = getTotalList(list,newList);
        System.out.println("集合并集为"+totalList);*/

//        List conmmonList = getCommonList(list,newList);
//        if (null==conmmonList){
//            System.out.println("集合中没有共同元素!!!!!!!!!!!!");
//        }else{
//            System.out.println("集合的交集为"+conmmonList);
//        }
        List mumList = getMumList(list,newList);
        if (null!=mumList) {
            System.out.println("集合的差集为" + mumList);
        }else{            
            System.out.println("集合为空!!!!!!!!!!!");
        }
    /**
     * 求集合的并集
     */
    public static List getTotalList(List list1,List list2){
        if (null!=list1 && null!=list2){
            list1.addAll(list2);
        }
        return list1;
    }
    /**
     * 求集合交集
     */
    public  static  List getCommonList(List list1,List list2){
        List newList = new ArrayList();
        if (null!=list1 || null!=list2) {
            //遍历集合list1
           for (int i = 0; i <list1.size(); i++) {
                //遍历集合2,判断集合1中是否包含集合2中元素,若包含,则把这个共同元素加入新集合中
                for (int j = 0; j <list2.size(); j++) {
                    if (list1.get(i).equals(list2.get(j)) || list1.get(i)==list2.get(j)){
                        newList.add(list1.get(i));
                    }
                    //continue;
                }

            }
            //list1.retainAll(list2);也可以
        }
        return list1;
    }
    /**
     * 求集合差集
     */
    public static  List getMumList(List list1,List list2){
        if (null!=list1 || null!=list2) {
            //遍历集合list1
            for (int i = 0; i <list1.size(); i++) {
                //遍历集合2,判断集合1中是否包含集合2中元素,若包含,则把这个共同元素加入新集合中
                for (int j = 0; j <list2.size(); j++) {
                    if (!list1.contains(list2.get(j))){
                        list1.add(list1.get(j));
                    }
                    //continue;
                }

            }
        }
        return list1;
    }
}
展开阅读全文

没有更多推荐了,返回首页