一个简单的HashSet<T> 的例子,介绍其简单的方法,深入学习可参考微软:https://msdn.microsoft.com/en-us/library/bb359438(v=vs.110).aspx

static void Main(string[] args)
{
//定义两个哈希集合以及其中一个集合的子集
HashSet<int> hashSet1 = new HashSet<int>() { , , , , };
HashSet<int> hashSet2 = new HashSet<int>() { , , , , };
HashSet<int> hashSet1Sub = new HashSet<int>() { , };
HashSet<int> hashSetAll = new HashSet<int>(); string message = String.Empty;
bool result = false; #region Hash集合元素唯一性体现
result = hashSet1.Add(); //集合1中添加重复元素
if (result)
{
message = "Hash集合已存在该元素";
}
else
{
message = "元素添加成功";
}
Console.WriteLine(message);
#endregion #region Hash表子集、交集判断
result = hashSet1.IsSubsetOf(hashSet2);
if (result)
{
message = "Hash集合2是集合1的子集";
}
else
{
message = "Hash集合2不是集合1的自己";
}
Console.WriteLine(message); result = hashSet1.Overlaps(hashSet2);
if (result)
{
message = "Hash集合1和Hash集合2存在交集";
}
else
{
message = "Hash集合1和hash集合2不存在交集";
} result = hashSet1.IsSupersetOf(hashSet2);
if (result)
{
message = "集合1完全包含集合2";
}
else
{
message = "集合1不完全包含集合2";
}
#endregion #region 集合的初始化
hashSetAll = new HashSet<int>(hashSet1);
hashSetAll.UnionWith(hashSet2);
hashSetAll.UnionWith(hashSet1Sub); message = "输出所有集合的元素";
Console.WriteLine(message);
foreach (int item in hashSetAll)
{
Console.WriteLine(item);
}
#endregion #region 排除元素
hashSetAll.ExceptWith(hashSet2);
message = "排除了集合2并输出";
Console.WriteLine(message);
foreach (var item in hashSetAll)
{
Console.WriteLine(item);
}
#endregion Console.ReadKey();
}

C# HashSet<T> 简单使用的更多相关文章

  1. java基础---->hashSet的简单分析(一)

    对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素的.今天我们就简单的分析一下它的实现.人生,总会有不期而遇的温暖,和生生不息的希望. HashSet的简单分析 一 ...

  2. java集合-HashSet

    HashSet 概述 对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的 ...

  3. 【java集合框架源码剖析系列】java源码剖析之HashSet

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...

  4. Redis入门的简单使用

    Redis是什么? redis是一个开源的,面向键/值对的NOSQL的分布式数据库系统 NOSQL指的是非关系型的数据,简单直白地讲就是在非关系型的数据库中不存在表的概念,而是以键值对的方式, 即一个 ...

  5. JDK源码分析(五)——HashSet

    目录 HashSet概述 内部字段及构造方法 存储元素 删除元素 包含元素 总结 HashSet概述   从前面开始,已经分析过集合中的List和Map,今天来介绍另一种集合元素:Set.这是JDK对 ...

  6. Java集合学习(3):HashSet

    一.概述 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. HashSet是基于Has ...

  7. C#中HashSet的重复性与判等运算重载

    目录 一个故事-- 一个繁荣的遥远国度:泛型容器 但是我也不确定容器里能放些什么东西啊 一个英勇的皇家骑士:HashSet 值类型的HashSet 引用类型的HashSet 另外一个--故--事?? ...

  8. HashSet 的实现原理

    HashSet 概述 对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的 ...

  9. Java 中最常见的 5 个错误

    在编程时,开发者经常会遭遇各式各样莫名错误.近日,Sushil Das 在 Geek On Java上列举了 Java 开发中常见的 5 个错误,与君共「免」. 原文链接:Top 5 Common M ...

随机推荐

  1. mfc进制转换

    ; CString str; m_edit1.GetWindowTextW(str); swscanf_s(str, _T("%d"), &num); _TCHAR str ...

  2. _itoa进制转换

    #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h> void main() { int ...

  3. oracle中对字符串进行分割,并反回随机段

    --测试数据 select fun_spilt_draw('1,2,3,4,5,6,7') a from dual--待处理数据 strtext--定义一个函数分割 返回字符串中的一个随机段creat ...

  4. Django(part2)

    admin site:django自带了admin site,我们需要创建能访问site的用户 #以交互的方式创建超级用户 manage.py createsuperuser 如果要把model加到a ...

  5. python 3.x 学习笔记14 (socket_ssh and socket_文件传输)

    ssh服务端 import socket,os server = socket.socket() server.bind(('localhost',6666)) server.listen() con ...

  6. Oracle数据库to_date函数注意事项

    使用PL/SQL连接到Oracle数据库服务器,执行一条update语句: update pjnl set transtime = to_date('2015-05-14 12:13:20','yyy ...

  7. vue+Element实现tree树形数据展示

    组件: Element(地址:http://element.eleme.io/#/zh-CN/component/tree):Tree树形控件 <el-tree ref="expand ...

  8. Java文件(io)编程——文件字符流的使用

    案例1: 读取一个文件并写入到另一个文件中,char[] 来中转. 首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串. public class Demo_5 { public ...

  9. 使用xshell连接本地虚拟机中的Linux问题

    xshell 连接虚拟机中Linux报错: Could not connect to '192.168.8.120' (port 22):Connection failed. 原因:虚拟机中Linux ...

  10. python编程基础

    Date: 2019-05-27 Author: Sun 1. 程序 为了完成某种特定功能,以某种程序设计语言编写的有序指令的集合.程序是指挥cpu工作的"工作手册".计算机只能执 ...