(转)HashSet<T>类
转载于:http://www.importnew.com/6931.html
HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集、并集、差集等。集合中包含一组不重复出现且无特性顺序的元素。
HashSet<T>的一些特性如下:
1、HashSet<T>中的值不能重复且没有顺序。
2、HashSet<T>的容量会按需自动添加。
构造方法:
HashSet() 默认相等比较器创建一个空的新实例。
HashSet(IEnumerable<T> collection) 把指定集合中的collection中的数据复制到集中
HashSet(IEqualityComparer<T> comparer) 使用指定的相等比较器创建一个空的新实例
HashSet(IEnumerable<T> collection,IEqualityComparer<T> comparer) 使用指定的比较器实例化数据,且将指定集合中的元素复制到集合中。
因为HashSet<T>是专门设计来做集合运算的,因此它提供的方法中有不少是和集合运算相关的。
以下给出它的一些常用方法介绍
成员 类型 说明
Add 方法 将指定的元素添加到集合中
Clear 方法 清空集合中的所有元素
Contains 方法 确定某元素是否在HashSet<T>中
Exists 方法 确定HashSet<T>是否包含于指定条件相匹配的元素
ExceptWith 方法 从当前HashSet<T>移除指定集合中的所有元素
IntersectWith 方法 修改当前的HashSet<T>对象,以仅包含该对象和指定集合中存在的元素
IsProperSubsetOf 方法 确定HashSet<T>对象是否为指定集合的真子集
IsProperSupersetOf 方法 确定HashSet<T>对象是否为指定集合的真超集
IsSunsetOf 方法 确定HashSet<T>对象是否为指定集合的子集
IsSupersetOf 方法 确定HashSet<T>对象是否为指定集合的超集
Remove 方法 从HashSet<T>对象中移除指定的元素
RemoveWhere 方法 从HashSet<T>集合中移除与指定谓词所定义的条件相匹配的所有元素
SetEquals 方法 确定HashSet<T>对象与指定的集合中是否包含相同的元素
SynmmetricExceptWith 方法 修改当前的HashSet<T>对象,以仅包含该对象或指定集合中存在的元素
TrimExcess 方法 将HashSet<T>对象的容量设置为它所包含的元素的实际个数,向上舍入为接近的特性与实现的值。
UnionWith 方法 修改当前的HashSet<T>对象,以包含该对象本身和指定集合中存在的所有元素
给个简单的例子,写不完的,总之记得HashSet<T>主要的作用是用来进行,交集、并集等运算的就OK了。
static void Main(string[] args)
{
HashSet<string> hs = new HashSet<string>();
hs.Add("你");
hs.Add("好");
hs.Add("吗");
HashSet<string> hs1 = new HashSet<string>();
hs1.Add("你");
hs1.Add("好"); bool b = hs1.IsProperSubsetOf(hs); //确定hs1是否是hs的真子集
Console.WriteLine(b); //输出True HashSet<string> hs2 = new HashSet<string>();
hs2.Add("爱你");
IEnumerable<string> list = hs.Union(hs2); //返回并集
foreach (string str in list)
{
Console.WriteLine(str); //输出 你 好 吗 爱你
} Console.ReadKey();
}
(转)HashSet<T>类的更多相关文章
- HashSet<T>类 用法
HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集.并集.差集等.集合中包含一组不重复出现且无特性顺序的元素 改变集的值的方法: HashSet<T>的 ...
- HashSet<T>类
HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集.并集.差集等.集合中包含一组不重复出现且无特性顺序的元素. HashSet<T>的一些特性如下: 1 ...
- (转) C#解惑:HashSet<T>类
HashSet<T>是一个相对“冷门”的类型,平时在项目中用得不多,但是在特定的业务中可以大用. 先来了解下HashSet<T>类,主要被设计用来存储集合,做高性能集运算,例如 ...
- C#解惑:HashSet<T>类
原贴: https://blog.csdn.net/X_X_OO/article/details/52529548 https://www.cnblogs.com/refuge/p/9465466.h ...
- HashSet 实现类
HashSet 实现类 通过 HashCode 判断元素是否存在,若存在则不添加,否则添加以此实现唯一性 常用方法 Modifier and Type Method and Description b ...
- Set接口HashSet实现类
java.util.Set接口 extends Collection接口 Set特点: 1.不允许有重复的元素 2.没有索引,没有带索引的方法,也不能使用普通的for遍历 java.util.Hash ...
- 微软在 .NET 3.5 新增了一个 HashSet 类,在 .NET 4 新增了一个 SortedSet 类,本文介绍他们的特性,并比较他们的异同。
微软在 .NET 3.5 新增了一个 HashSet 类,在 .NET 4 新增了一个 SortedSet 类,本文介绍他们的特性,并比较他们的异同. .NET Collection 函数库的 Has ...
- Nullable类型和HashSet<T>集合
今天接触到两个新的类型,查了一下才发现它们已经出现好久了,特作一下标记 Nullable结构 在System命名空间下,在 .NET Framework 2.0 版中是新增的:用它定义的值类型的对象与 ...
- 数据结构-List接口-LinkedList类-Set接口-HashSet类-Collection总结
一.数据结构:4种--<需补充> 1.堆栈结构: 特点:LIFO(后进先出);栈的入口/出口都在顶端位置;压栈就是存元素/弹栈就是取元素; 代表类:Stack; 其 ...
随机推荐
- es6学习笔记--箭头函数
基本用法 ES6允许使用“箭头”(=>)定义函数. var f = v => v; 上面的箭头函数等同于: var f = function(v) { return v; }; 如果箭头函 ...
- c# api身份验证和授权
授权 1. 全局 config.Filters.Add(new AuthorizeAttribute()); 2.控制器级别 [Authorize] public class HelloControl ...
- 『Golang』—— 标准库之 time
... package main import ( "fmt" "time" ) func main() { time.AfterFunc(time.Milli ...
- vim + ctag + Taglist (转)
一.ctag 当然,第一步就是要下载它!一条命令搞定: $sudo apt-get install ctags 如果不幸提示找不到软件包ctags,首先你也许应该update一下你的软件源,还不行的话 ...
- 第十五章 例行性工作(crontab)--循环执行的例行性工作调度 crontab(定时任务)
循环执行的例行性工作调度 crontab(定时任务) 15.1 例行性工作调度 不考虑硬件与服务器的链接状态,Linux帮助提醒很多任务. Linux例行性工作是如何进行调度的? Linux调度就是通 ...
- Stack,ArrayDeque,LinkedList的区别
本文首发于cartoon的博客 转载请注明出处:https://cartoonyu.github.io/cartoon-blog 这段时间把疯狂JAVA再看了一遍,发现Stac ...
- 移动端新建html页面
这是一些头部设置 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- ECMS清除挂马以及后台升级实战(从ecms6.6~ecms7.0)
当时状况 Windows Server 2008 R2 Enterprise + 帝国CMS6.6 + MySql server软件: Microsoft-IIS/7.5 操作系统: WINNT ...
- MVC--MVP?
第一部分:什么是MVP?什么是MVC? 1.什么是MVP? M:数据层(数据库.网络.文件存储等等...) V:View和Activity和Fragment以及它们的子类 P:中介->Prese ...
- thinkphp助手函数
tp3 C($name=null, $value=null,$default=null) 获取和设置配置参数 支持批量定义 load_config($file,$parse=CONF_PARSE) 加 ...