C# 数组的交集、差集、并集

工作中经常会用这方面的知识来检查那些字段是必须输入的,那些是禁止输入。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5
 6 namespace Collection
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             int[] x = { 6,7,8,9,10};
13             int[] y = { 4,5,6,7,8};
14
15             var z1 = x.Except(y);
16             Console.WriteLine("Except: {0}",z1.Count());
17             foreach (var i in z1)
18             {
19                 Console.Write(i + " ");
20             }
21
22             var z2 = x.Intersect(y);
23             Console.WriteLine("\nIntersect:{0}",z2.Count());
24             foreach (var i in z2)
25             {
26                 Console.Write(i+" ");
27             }
28
29             var z3 = x.Union(y);
30             Console.WriteLine("\nUnion:{0}",z3.Count());
31             foreach (var i in z3)
32             {
33                 Console.Write(i + " ");
34             }
35             Console.ReadKey();
36         }
37     }
38 }

时间: 2024-10-14 00:04:47

C# 数组的交集、差集、并集的相关文章

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

http://www.jb51.net/article/40385.htm 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一个元素和可选参数用函数进行计算,并将计算得的结果集返回 {%example <script> var a = [1,2,3,4].each(function(x){return x > 2 ? x : null}); var b = [1,2,3,4].each(function(x){re

数组的 交集 差集 补集 并集

ES5的写法 var a = [1,2,3,4,5] var b = [2,4,6,8,10] // //交集 var c = a.filter(function(v){ return b.indexOf(v) > -1 }) // //差集 var d = a.filter(function(v){ return b.indexOf(v) == -1 }) // //补集 var e = a.filter(function(v){ return !(b.indexOf(v) > -1) })

两个文件diff:交集差集并集

comm comm -12 <(sort 123|uniq) <(sort 234 | uniq) | wc -l [comm -12 表示取消第一列和第二列的输出,即只输出第三列] comm命令可以求两个文件的比较结果.默认输出三列,分别表示A-B,B-A 和 A交B. comm命令要求输入文件的内容必须是排序且唯一的 https://www.xuebuyuan.com/1273561.html grep 交集:grep -F -f file1 file2 B-A:grep -F -v -f

sqlite支持各种交集差集 并集操作了

JS - 计算两个数组的交集、差集、并集、补集(多种实现方式)

方法一:最普遍的做法 使用 ES5 语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器 JavaScript 版本.也不用引入其他第三方库. 1,直接使用 filter.concat 来计算 var a = [1,2,3,4,5] var b = [2,4,6,8,10] //交集 var c = a.filter(function(v){ return b.indexOf(v) > -1 }) //差集 var d = a.filter(function(v){ return b.index

java中求两个数组(集合)的交集,并集,差集

对于两个数组 arr1=[1,3,4,5,8,9] arr2=[2,3,7,8,9] 求出交集与并集 test.java 1 import java.util.ArrayList; 2 import java.util.Collections; 3 4 5 public class test1 { 6 public static void main(String[] args) { 7 ArrayList<Integer> tmplist=new ArrayList<Integer>

数组功能扩展--差集,并集,合集,去重

//数组功能扩展 Array.prototype.each = function(fn){       fn = fn || Function.K;        var a = [];        var args = Array.prototype.slice.call(arguments, 1);        for(var i = 0; i < this.length; i++){            var res = fn.apply(this,[this[i],i].conc

python两个 list 获取交集,并集,差集的方法

有时候,为了需求,需要统计两个 list 之间的交集,并集,差集.查询了一些资料,现在总结在下面:1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个

用Java求字符串数组的的交集和并集

package com.array; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Map.Entry; public class StringArray { pu

PHP 数组函数 数组中的差集和交集

array_diff( $arr , $arr2[--] )  返回一个数组,该数组包括了所有在$arr1 但是不在任何其他参数数组中的值,键名不变 array_diff_uassoc( $arr ,$arr2 ,[--] , 'cmp_function') 用回调函数做索引比较数组中的差集 array_diff_assoc( $arr , $arr2[--] ) 返回一个数组,$arr 与其他数组的差集 同时比较键名  索引不变 array_udiff( $arr , $arr2 [--] ,