求两个集合的交集,并集,差集
1. 取交集 (A和B都有)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
var intersectedList = list1.Intersect(list2);
結果 : { 3 , 9 }
判斷A和B是否有交集
bool 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是否有差集
bool isExpected = list1.Expect(list2).Count() > 0
3. 取聯集 (包含A和B)
List A : { 1 , 2 , 3 , 5 , 9 }
List B : { 4 , 3 , 9 }
public static class ListExtensions{public static List<T> Merge<T>(this List<T> source, List<T> target){List<T> mergedList = new List<T>(source);mergedList.AddRange(target.Except(source));return mergedList;}}
var mergedList = list1.Merge(list2);
結果 : { 1 , 2 , 3 , 5 ,9 , 4 }
举例2个集合A,B.
List<int> listA = new List<int> {1,2,3,5,7,9};
listA.BinarySearch("1");//判断集合中是否包含某个值.如果包含则返回0
举例两个数组
r.AddRange(i);
r.AddRange(j);
int[] c = r.ToArray(); 合并数组
int[] x=i.Union(j).ToArray<int>(); //剔除重复项
int[] x=i.Concat(j).ToArray<int>(); //保留重复项
int n = Array.BinarySearch(i,3);//判断数组中是否包含某个值.如果包含则返回0
一个集合中去除另一个集合
List<string> listold = itemtocheck.AuidtSearchWord.Split(',').ToList(); //旧的搜索词List<string> listnew = NewsearchWords.Split(',').ToList(); //新的搜索词listold.RemoveAll(c => listnew.Contains(c));tempmixwords = string.Join(",", listold.Distinct());
IEqualityComparer接口实现
private static IEnumerable<TSource> ExceptIterator<TSource>(IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer) {Set<TSource> set = new Set<TSource>(comparer);foreach (TSource source in second)set.Add(source);foreach (TSource source in first){if (set.Add(source))yield return source;} }public interface IEqualityComparer<in T> {/// <summary>确定指定的对象是否相等。</summary>/// <returns>如果指定的对象相等,则为 true;否则为 false。</returns>/// <param name="x">要比较的第一个类型为 <paramref name="T" /> 的对象。</param>/// <param name="y">要比较的第二个类型为 <paramref name="T" /> 的对象。</param> [__DynamicallyInvokable]bool Equals(T x, T y);/// <summary>返回指定对象的哈希代码。</summary>/// <returns>指定对象的哈希代码。</returns>/// <param name="obj">/// <see cref="T:System.Object" />,将为其返回哈希代码。</param>/// <exception cref="T:System.ArgumentNullException">/// <paramref name="obj" /> 的类型为引用类型,<paramref name="obj" /> 为 null。</exception> [__DynamicallyInvokable]int GetHashCode(T obj); }
public class DeliverySchedulerComparer : IEqualityComparer<DeliverySchedulerDO> {private static readonly DeliverySchedulerComparer _comparer = new DeliverySchedulerComparer();public static DeliverySchedulerComparer Instance(){return _comparer;}public bool Equals(DeliverySchedulerDO x, DeliverySchedulerDO y){return x.DeliveryLineId == y.DeliveryLineId &&x.DeliveryManId == y.DeliveryManId;}public int GetHashCode(DeliverySchedulerDO obj){string code = obj.DeliveryLineId.ToString() + obj.DeliveryManId.ToString();return code.GetHashCode();}//var invalidSchedulers = existsSchedulers.Except(dmsSchedulers, DeliverySchedulerComparer.Instance()).ToList();
zip操作符
int[] numbers = { 3, 5, 7 }; string[] words = { "three", "five", "seven", "ignored" }; IEnumerable<string> zip = numbers.Zip (words, (n, w) => n + "=" + w);// 产生的sequence包含如下元素 // 3=three // 5=five // 7=seven
参考:http://www.cnblogs.com/lifepoem/archive/2011/11/29/2267243.html
求两个集合的交集,并集,差集相关推荐
- js寻找两个数组的差集_js求两个数组的交集|并集|差集|去重
let a = [1,2,3], b= [2, 4, 5]; 1.差集 (a-b 差集:属于a但不属于b的集合) a-b = [1,3] (b-a 差集:属于b但不属于a的集合) b-a = [4 ...
- C/C++ 求两个集合的交集、并集、差集
推荐阅读:Python基础自学实用笔记(总和篇)-By Ryan_3610 1.题目:求两个集合的交集.并集.差集 1.1代码 #include <iostream> #include & ...
- Java求两个数组的交集、差集、并集
目录 Java求两个数组的并集,代码如下: Java求两个数组的交集,代码如下: Java求两个数组的差集,代码如下: 交集.差集.并集测试代码如下: Java求两个数组的并集,代码如下: /*** ...
- JAVA Hashset求集合的交集并集差集
JAVA Hashset求集合的交集并集差集 Hashset是Set接口较为常见的一个子类,该子类的最大特点是不允许保存重复的元素,并且所有的内容都采用散列(无序)的方式进行存储. package c ...
- java集合操作-----求两个集合的交集和并集
java求两个集合的交集和并集 java如何求两个集合的交集和并集呢??其实java的API中已经封装了方法.今天写个简单的例子测试一下:(例子中以java.util.LinkedList为例) 求连 ...
- java 时间段求并集,java集合操作-----求两个集合的交集和并集
2019独角兽企业重金招聘Python工程师标准>>> java求两个集合的交集和并集 java如何求两个集合的交集和并集呢??其实java的API中已经封装了方法.今天写个简单的例 ...
- oracle 并集 时间_Oracle集合运算符 交集 并集 差集
集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含'A'或含有'M' SQL> ...
- java求两个集合的交集和并集,比较器
求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection {public sta ...
- C++求两个集合的交集
建立一个类Intersection求两个整数集合的交集,具体要求如下: (1)私有数据成员 int set[20];用数组空间set存储集合 int len:表示该集合中元素的个数 (2)公有成员函数 ...
- oracle 求两个集合的交集,Oracle中的Union、Union All、Intersect、Minus差集交集等集合操作详解...
Intersect和Minus的操作和Union基本一致,这里一起总结一下: Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作 ...
最新文章
- HTML5移动应用开发入门经典 中文pdf扫描版
- 卡夫卡队列_卡夫卡编年史队列基准
- vs2017怎么安装python包,vs2017安装pygame,vs2017安装python第三方包
- 自定义UISwitch
- Vue 实现点击复制功能概述
- [转载] python pandas.read_csv读取大文件
- python flask 分页_Python利用flask sqlalchemy实现分页效果
- 智慧路灯网关下的校园智慧路灯照明解决方案
- 免费的IT类技术书籍大全
- Python3读取h5,pkl,npz,npy格式的文件
- 2013年图灵奖得主 Leslie Lamport 专访:程序员需要更多的数学知识
- OSChina 周六乱弹 ——清明节你怎么过的这么开心?
- 显示器6抖8,8抖10
- Pandas速查手册
- 【英语阅读】纽约时报 | 边走路边看手机有多危险,以及你该如何控制自己
- 黑客前线_前线和失踪的中间英里
- 离岸价格和到岸价格详解
- 太极链——金融的大幅转型已成为趋势
- Kibana 中用公式和时间旅行回答的 10 个常见问题
- 新媒体运营教程:私域流量运营有5大关键指标
热门文章
- DAY 75 【分布式应用】消息队列之卡夫卡 + EFLFK集群部署
- 【分布式应用】消息队列之卡夫卡 + EFLFK集群部署
- 涨薪 30 % 以上,看这篇万字干货就行(留言点赞抽奖)
- 金山WPS移动端笔试-android方向
- WPS Office AI实战:一键生成PPT幻灯片
- 苹果7支持快充吗_苹果12充电快吗 5-20W快充iPhone12充电时间对比
- 普鸥知识产权|美国外观设计专利 侵权判定?
- 我为什么讨厌某些读后感
- itext设置pdf的尺寸_java-iText PDFDocument页面大小不正确
- echart 入门小案例