Java教程

[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基础] 如何对List进行(交集/并集/补集)运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!