我是用hashset<T>来实现的 具体如代码所示

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace JiaoJi
{
class Program
{
static void Main(string[] args)
{
int [] arrA=new int[]{,,,,,,,};
int [] arrB=new int[]{,,,,};
HashSet<int> hashset=new HashSet<int>();
hashset = JiaoJi(arrA, arrB);
HashSet<int> hashsetB = new HashSet<int>();
hashsetB = BingJi(arrA, arrB);
Console.Write("他们交集如下:");
foreach (var i in hashset)
{
Console.Write(i);
}
Console.WriteLine();
Console.Write("他们的并集如下:");
foreach (var i in hashsetB)
{
Console.Write(i);
}
Console.ReadKey(); }
/// <summary>
/// 求两个数组的并集
/// </summary>
/// <param name="arrayA"></param>
/// <param name="arrayB"></param>
/// <returns></returns>
static HashSet<int> BingJi(int[] arrayA, int[] arrayB)
{
HashSet<int> hashset = new HashSet<int>();
for (int i = ; i < arrayA.Length; i++)
{
hashset.Add(arrayA[i]);
}
for (int j = ; j < arrayB.Length; j++)
{
hashset.Add(arrayB[j]); }
return hashset; }
/// <summary>
/// 求两个集合的交集
/// </summary>
/// <param name="arrayA">传入数组a</param>
/// <param name="arrayB">传入数组B</param>
/// <returns></returns>
static HashSet<int> JiaoJi(int[] arrayA, int[] arrayB)
{
//求两个集合的交集 //hashset的就是专门求两个交集而生的 或者并集 他的add方法的 会判断
//如果你存在了这个记录,他就会返回false 这里就是利用了这个思路
HashSet<int> s = new HashSet<int>();
HashSet<int> s2 = new HashSet<int>();
for (int i = ; i < arrayA.Length; i++)
{
s.Add(arrayA[i]);
}
for (int j = ; j < arrayB.Length; j++)
{
if (s.Add(arrayB[j]) == false)
{
s2.Add(arrayB[j]);
}
}
return s2;
}
}
}

结果如图:

如果有什么疑问,欢迎大家一起讨论学习

求两个集合的交集和并集C#的更多相关文章

  1. java求两个集合的交集和并集,比较器

    求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...

  2. 求两个list的交集和并集

    两个list的并集,只需去除重复元素即可: 将两个list放入同一个set中即可: 两个list的交集: 1将其中一个list放入set, 2循环另一个list,每次向set塞值, 3判断set的总数 ...

  3. C# 数组比较--取得两个集合的交集,差集,并集的方法

    方法关键字: 交集:Intersect 差集:Except 并集:Union 使用代码: , , , , }; , , , , }; var 交集 = arr1.Intersect(arr2).ToL ...

  4. js取两个数组的交集|差集|并集|补集|去重示例代码

    http://www.jb51.net/article/40385.htm 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一 ...

  5. java用最少循环求两个数组的交集、差集、并集

    import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...

  6. Python3.7.1学习(三)求两个list的差集、并集与交集

    在python3.7.1对列表的处理中,会经常使用到Python求两个list的差集.交集与并集的方法. 下面就以实例形式对此加以分析. # 求两个list的差集.并集与交集# 一.两个list差集# ...

  7. C# 集合的交集 差集 并集 去重

    C# 集合的交集 差集 并集 去重 两个对象list,直接比较是不行的,因为他们存的地址不一样 需要重写GetHashCode()与Equals(object obj)方法告诉电脑 class Stu ...

  8. java使用bitmap求两个数组的交集

    一般来说int代表一个数字,但是如果利用每一个位 ,则可以表示32个数字 ,在数据量极大的情况下可以显著的减轻内存的负担.我们就以int为例构造一个bitmap,并使用其来解决一个简单的问题:求两个数 ...

  9. python两个 list 交集,并集,差集的方法+两个tuple比较操作+两个set的交集,并集,差集操作+两个dict的比较操作

    转自:http://blog.chinaunix.net/uid-200142-id-3992553.html 有时候,为了需求,需要统计两个 list 之间的交集,并集,差集.查询了一些资料,现在总 ...

随机推荐

  1. tracert与pathping

    trace route(windows命令为tracert,Linux命令为traceroute)命令可以列出本地计算机与目标计算机之间所有经过的计算机信息.可以输入目标计算机的名字(如www.bai ...

  2. js关于页面坐标api

    网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offset ...

  3. 关于 Dev中的GridControl 中 GridView 的 PopulateColumns() 方法

    最近使用Dev控件,Gridview绑定数据源后不能显示数据,于是在网上查询,说是使用PopulateColumns()方法,可以显示数据.试了一下,管用. 于是在所有更新数据源数据后,都用上了这句话 ...

  4. 一个简单的synchronized多线程问题、梳理与思考

    一个程序,多个线程同时操作一个变量,给这个变量+1().功能很简单,可是怎么样去实现呢?这其中涉及到了哪些问题? 最基础想法 见代码: public class Test extends Thread ...

  5. 无向图的DFS遍历(方法之一)

    如果看不懂辅助解释在后面第点 1.录入方式: 输入 u - v  表示一边的2个端点 2.存储结构 struct edge { int from; int to; int next; } e[MAXN ...

  6. DotNet Core 1.0 集成 CentOS 开发与运行环境部署

    一.     DotNet Core 1.0 开发环境部署 操作系统安装 我们使用CentOS 7.2.1511版本. 安装libunwind库 执行:sudo yum install libunwi ...

  7. SQL笔记1:SELECT及SELECT高级应用

      T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:G ...

  8. 基于sentinel 的redis集群环境搭建

    环境信息,三台机器,一台master,两台slave,每台机器上启动一个sentinel master 192.168.1.106 slave1 192.168.1.102 slave2 192.16 ...

  9. FZU 1686 神龙的难题 (重复覆盖)

    Problem 1686 神龙的难题 Accept: 397    Submit: 1258Time Limit: 1000 mSec    Memory Limit : 32768 KB  Prob ...

  10. 关于Linux x64 Oracle JDK7u60 64-bit HotSpot VM 线程栈默认大小问题的整理

    JVM线程的栈默认大小,oracle官网有简单描述: In Java SE 6, the default on Sparc is 512k in the 32-bit VM, and 1024k in ...