C# HashSet<T> 简单使用
一个简单的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> 简单使用的更多相关文章
- java基础---->hashSet的简单分析(一)
对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素的.今天我们就简单的分析一下它的实现.人生,总会有不期而遇的温暖,和生生不息的希望. HashSet的简单分析 一 ...
- java集合-HashSet
HashSet 概述 对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的 ...
- 【java集合框架源码剖析系列】java源码剖析之HashSet
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...
- Redis入门的简单使用
Redis是什么? redis是一个开源的,面向键/值对的NOSQL的分布式数据库系统 NOSQL指的是非关系型的数据,简单直白地讲就是在非关系型的数据库中不存在表的概念,而是以键值对的方式, 即一个 ...
- JDK源码分析(五)——HashSet
目录 HashSet概述 内部字段及构造方法 存储元素 删除元素 包含元素 总结 HashSet概述 从前面开始,已经分析过集合中的List和Map,今天来介绍另一种集合元素:Set.这是JDK对 ...
- Java集合学习(3):HashSet
一.概述 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. HashSet是基于Has ...
- C#中HashSet的重复性与判等运算重载
目录 一个故事-- 一个繁荣的遥远国度:泛型容器 但是我也不确定容器里能放些什么东西啊 一个英勇的皇家骑士:HashSet 值类型的HashSet 引用类型的HashSet 另外一个--故--事?? ...
- HashSet 的实现原理
HashSet 概述 对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的 ...
- Java 中最常见的 5 个错误
在编程时,开发者经常会遭遇各式各样莫名错误.近日,Sushil Das 在 Geek On Java上列举了 Java 开发中常见的 5 个错误,与君共「免」. 原文链接:Top 5 Common M ...
随机推荐
- php扩展之 pdo_mysql.so
总结:新搭编译安装的 nginx+php+mysql环境,执行之前开发的项目遇到了没有安装pdo的问题 1.进入到php5的源代码包里面,ext以下.找到pdo_mysql目录 首先运行:/usr/l ...
- c3p0在spring中的配置
在大家的开发和学习其中应该经经常使用到数据库的连接和使用,只是连接 的方式就有非常多种方式了,例如说用最最简单的JDBC 也好,还实用比 较复杂一点的就是数据库连接池.当然还有使用DBCP的连接的,各 ...
- 高速排序算法C++实现
//quick sort //STL中也有现成的高速排序算法.内部实现採用了下面技巧 //1)枢轴的选择採取三数取中的方式 //2)后半段採取循环的方式实现 //3)高速排序与插入排序结合 #incl ...
- JavaScript学习记录二
title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- Codeforces 659F Polycarp and Hay 并查集
链接 Codeforces 659F Polycarp and Hay 题意 一个矩阵,减小一些数字的大小使得构成一个连通块的和恰好等于k,要求连通块中至少保持一个不变 思路 将数值从小到大排序,按顺 ...
- Server Tomcat v7.0 Server at localhost failed to start.解决办法(图文详解)
问题描述 Server Tomcat v7.0 Server at localhost failed to start. 解决办法 把你工作空间文件夹下的如下路径打开: <workspace-d ...
- (转)PHP(其他语言类似)编码的规范性
为了提高工作效率,保证开发的有效性和合理性,并最大程度提高程序代码的可读性和可重复利用性,提高沟通效率,需要一份代码编辑规范. 一.文件标记: 1.所有php文件 ...
- ikbc 时光机 F87 Ctrl 失灵 解决办法
多按几次Fn+PrtSc,直至按键无错位.
- swift学习笔记 - swift中常用关键字
swift中常用关键字 **用作声明的关键字: ** class.deinit.enum.extension.func.import.init.let.protocol.static.struct.s ...
- 使用js获取url中的get参数并转成json格式
写在前面的 没啥说的 上代码 思路就是先获取到?后面的参数区,然后 利用字符串转数组方法获取到各个参数 var json = {}; var url = 'https://www.baidu.com/ ...