求两个集合的交集和并集C#
我是用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#的更多相关文章
- java求两个集合的交集和并集,比较器
求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...
- 求两个list的交集和并集
两个list的并集,只需去除重复元素即可: 将两个list放入同一个set中即可: 两个list的交集: 1将其中一个list放入set, 2循环另一个list,每次向set塞值, 3判断set的总数 ...
- C# 数组比较--取得两个集合的交集,差集,并集的方法
方法关键字: 交集:Intersect 差集:Except 并集:Union 使用代码: , , , , }; , , , , }; var 交集 = arr1.Intersect(arr2).ToL ...
- js取两个数组的交集|差集|并集|补集|去重示例代码
http://www.jb51.net/article/40385.htm 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一 ...
- java用最少循环求两个数组的交集、差集、并集
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...
- Python3.7.1学习(三)求两个list的差集、并集与交集
在python3.7.1对列表的处理中,会经常使用到Python求两个list的差集.交集与并集的方法. 下面就以实例形式对此加以分析. # 求两个list的差集.并集与交集# 一.两个list差集# ...
- C# 集合的交集 差集 并集 去重
C# 集合的交集 差集 并集 去重 两个对象list,直接比较是不行的,因为他们存的地址不一样 需要重写GetHashCode()与Equals(object obj)方法告诉电脑 class Stu ...
- java使用bitmap求两个数组的交集
一般来说int代表一个数字,但是如果利用每一个位 ,则可以表示32个数字 ,在数据量极大的情况下可以显著的减轻内存的负担.我们就以int为例构造一个bitmap,并使用其来解决一个简单的问题:求两个数 ...
- python两个 list 交集,并集,差集的方法+两个tuple比较操作+两个set的交集,并集,差集操作+两个dict的比较操作
转自:http://blog.chinaunix.net/uid-200142-id-3992553.html 有时候,为了需求,需要统计两个 list 之间的交集,并集,差集.查询了一些资料,现在总 ...
随机推荐
- NRF51822之ADC(1)
在开始讲解的前,我们不生产水,我们只是大自然的搬运工.开始搬手册(nRF51 Series Reference Manual Version 3.0)上的资料
- windows下的php rabbit mq安装、配置
http://www.cnblogs.com/shanyou/p/4067250.html 这篇博文写的rabbit mq和erlang的安装以及rabbitmq可视化插件的一些操作 接下去开始安装P ...
- Neural Network学习(二)Universal approximator :前向神经网络
1. 概述 前面我们已经介绍了最早的神经网络:感知机.感知机一个非常致命的缺点是由于它的线性结构,其只能做线性预测(甚至无法解决回归问题),这也是其在当时广为诟病的一个点. 虽然感知机无法解决非线性问 ...
- PHP在linux上执行外部命令
PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以 ...
- python+selenium简易自动化框架,包含生成测试报告以及发送结果至Email
Selenium+python环境搭建见虫师的pdf文档,非常详尽 简易框架: 1.文件目录:
- RabbitMQ消息队列1: Detailed Introduction 详细介绍
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有 ...
- smbclient提示NT_STATUS_INSUFFICIENT_RESOURCES
Rhel6中使用smbclient命令打开windows共享文件夹,出现: Linux Samba protocol negotiation failed: NT_STATUS_INSUFFICIEN ...
- c#窗体去掉borderstyle进行拖动
private void BaseCForm_Load(object sender, EventArgs e) { DrawStyle(); this.panel1 ...
- 设置mysql utf8
1.修改mysql 配置文件my.cnf 标签[mysqld]下添加即可 character-set-server = utf8
- Aspen 安装
按原安装后破解不成功后: 从下载文件夹中,找到 AspenONEV8.\Patch\-STRGXI2.zip,里面有个 STRGXI2.dll,将该文 件复制到: C:\Program Files(x ...