zoukankan      html  css  js  c++  java
  • 对List取交集、联集及差集

    1.  取交集 (A和B都有)
    List A : { 1 , 2 , 3 , 5 , 9 }
    List B : { 4 , 3 , 9 }
       var intersectedList = list1.Intersect(list2); 
       結果 : { 3 , 9 }

    判斷A和B是否有交集
      boolean isIntersected = list1.Intersect(list2).Count() > 0

    2. 取差集 (A有,B沒有)
    List A : { 1 , 2 , 3 , 5 , 9 }
    List B : { 4 , 3 , 9 }
        var expectedList = list1.Except(list2); 
       结果: { 1 , 2 , 5 }

    判断A和B是否有差集
       boolean isExpected = list1.Expect(list2).Count() > 0

    3.  取联集 (包含A和B)
    List A : { 1 , 2 , 3 , 5 , 9 }
    List B : { 4 , 3 , 9 }

    01 public static class ListExtensions
    02 {
    03        public static List<T> Merge<T>(this List<T> source, List<T> target)
    04        {
    05            List<T> mergedList = new List<T>(source);
    06            mergedList.AddRange(target.Except(source));
    07            return mergedList;
    08        }
    09 }
    10  
    11 var mergedList = list1.Merge(list2);
    12 //結果 : { 1 , 2 , 3 , 5 ,9 , 4 }
  • 相关阅读:
    sqlsever中生成GUID的方法
    部署项目到服务器
    读后感
    第二次作业
    课堂作业
    第一次作业 开发环境配置介绍
    第二次结对作业
    代码审查
    最大连续子数组和
    单元测试
  • 原文地址:https://www.cnblogs.com/AllUserBegin/p/3526740.html
Copyright © 2011-2022 走看看