编程语言
首页 > 编程语言> > [Java基础] 如何对List进行(交集/并集/补集)运算

[Java基础] 如何对List进行(交集/并集/补集)运算

作者:互联网

前言

前几天. 工作中用到了List的交集, 并集, 补集. 运算. 之前有封装过相关的List工具类. 在此, 再次总结一下.

List 的交集/并集/补集 运算(原生方法)

    /**
     * 交集.
     * 注意直接使用 retainAll方法会改变原数据集合. 需要拷贝使用.
     */
    public static <T> List<T> intersection(java.util.List<T> listA, List<T> listB){
        if(CollectionUtils.isEmpty(listA)){
            return listB;
        } else if(CollectionUtils.isEmpty(listB)){
            return listA;
        }

        List<T> copyOfArrayListA = new ArrayList<>(listA);
        copyOfArrayListA.retainAll(listB);
        return copyOfArrayListA;
    }
    /**
     * 并集.
     */
    public static <T> List<T> union(java.util.List<T> listA, List<T> listB){
        if(CollectionUtils.isEmpty(listA)){
            return listB;
        } else if(CollectionUtils.isEmpty(listB)){
            return listA;
        }

        List<T> copyOfArrayListA = new ArrayList<>(listA);
        copyOfArrayListA.removeAll(listB);
        copyOfArrayListA.addAll(listB);
        return copyOfArrayListA;
    }

Collections工具包内


Reference

[1].

标签:Java,并集,copyOfArrayListA,List,return,listA,listB
来源: https://blog.csdn.net/u010416101/article/details/120258366