C# 对List<T>取交集、差集以及并集
来源:互联网 发布:正规矩阵奇异值 编辑:程序博客网 时间:2024/06/16 22:37
List<T>以string类型为例,实际应用中可换做其他类型:
1:取交集
// 取交集 static void Intersection() { List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" }; List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" }; List<string> list3 = new List<string>(); list3 = list1.Intersect(list2).ToList(); Console.Write(list3.Count); //交集的个数,如果个数为0,说明没有交集 Console.WriteLine(); foreach (var s in list3) // 各个值 { Console.Write(s); Console.WriteLine(); } }结果:
2
BB
GG
2:取差集
// 取差集 static void Exception() { List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" }; List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" }; List<string> list3 = new List<string>(); list3 = list1.Except(list2).ToList(); Console.Write(list3.Count); //差集的个数,如果个数为0,说明list1中存在的值也全都存在于list2中 Console.WriteLine(); foreach (var s in list3) // 各个值 { Console.Write(s); Console.WriteLine(); } }结果:
3
AA
CC
EE
如果把取差集代码中的 list3 = list1.Except(list2).ToList();换成 list3 = list2.Except(list1).ToList();结果如下:
2
DD
MM
listA.Except(B).ToList();
注:差集表示listA中哪些值是listB中所不存在的;
3:取并集
// 取并集 static void Union() { List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" }; List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" }; List<string> list3 = new List<string>(); list3 = list1.Union(list2).ToList(); Console.Write(list3.Count); //并集的个数,一般不会为0,除非list1和list2中的元素个数都为0 Console.WriteLine(); foreach (var s in list3) // 各个值 { Console.Write(s); Console.WriteLine(); } }结果:
7
AA
BB
CC
EE
GG
DD
MM
如果把上面取并集代码中的list3 = list1.Union(list2).ToList();换成list3 = list1.Concat(list2).ToList();或list1.AddRange(list2);list3.AddRange(list1);则将会保留重复项
结果如下:
9
{AA, BB, CC, EE, GG, BB, DD, GG, MM }
阅读全文
0 0
- C# 对List<T>取交集、差集以及并集
- C# 对List<T>取交集、连集及差集
- C# 对List<T>取交集、连集及差集
- C# 对List<T>取交集、连集及差集
- C# 对List<T>取交集、连集及差集
- C#对List中的数据进行取交集、并集、差集和去重操作的方法
- List集合的并集、交集、差集以及源码
- java list 取交集,差集
- List实现:交集,并集,差集
- List的并集、交集、差集
- python list差集,交集,并集
- JAVA List 并集, 交集, 差集
- Python list 交集,并集,差集
- List 交集、并集、差集运算
- [C#] 對List<T>取交集、聯集及差集
- C#求交集差集并集
- python功能二维表合并,一维表内嵌元祖合并以及取交集,并集,差集
- 求List集合的并集、交集、差集
- 51nod 1875 丢手绢(模拟)
- 8.访问控制权限
- 如何在XCode中添加库
- PCA的数学原理(非常值得阅读)!!!!
- DHT应用于区块链
- C# 对List<T>取交集、差集以及并集
- 知识点--String、StringBuilder、StringBuffer
- java中tomcat重启时加载动态库XXX.dll报错“java.lang.UnsatisfiedLinkError: already loaded in another classloader”
- 并查集入门
- matplotlib学习之scatter()函数--颜色印射
- comma.ai实践2
- cordova Ionic 和cordova的区别是什么(项目总结)
- Linux下编译安装python3
- python 条件,循环