C#泛型集合之——哈希集合
1.特点:HashSet 中元素不重复,容量为元素个数,自动增大。是一组值,是高性能的数学集合。
2.创建:
(1)HashSet<类型> 集合名 = new HashSet<类型>(); //空集合
(2)HashSet<类型> 集合名 = new HashSet<类型>() { "马超", "关羽" };
(3)HashSet<类型> 集合名 = new HashSet<类型>(数组名);// 该对象使用数组进行初始化,该数组自动从数组中添加HashSet中的项。
3.元素个数: 哈希集合名.Count;//可以使用foreach 语句
4.操作:
(1) 添加元素: 集合名.Add(所加入元素); //重复则不添加
(2) 删除: 集合名.Remove(所加入元素) ; //没有则不删
(3) 查找元素: 集合名.Contains(元素);
(4) 数学运算:集合名.Sum();集合名.Average();集合名.Max/Min();
(5) 集合运算:并:集合名.UnionWith(集合名) 交:集合名.IntersectWith(集合名); 差:集合名.ExceptWith(集合名); 余集: 集合名.SymmetricExcept(集合名);
(6) 清空所有元素:集合名.Clear();
(7) 把元素复制到一个数组中:集合名.CopyTo(数组名); //注意类型相同,不能越界。
(8) 判断集合相等:集合名.Equals(集合名); //返回值为布尔值
(9) 判断子集合:集合名. IsSubsetOf(集合名);
(10) 判断超集:集合名. IsSupersetOf(集合名);
(11) 判断是否有相同元素(一个即可):集合名. Overlaps(集合名);
C#泛型集合之——哈希集合的更多相关文章
- -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器
集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别? A:长度区别 ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...
- Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug
集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. ...
- 将查询字符串解析转换为泛型List的名值集合.
///<summary> ///将查询字符串解析转换为泛型List的名值集合. ///</summary> ///<param name="queryStrin ...
- 哈希集合——hashSet
/** 哈希集合特点:存取顺序不确定,同一个哈希值的位置可以存放多个元素, 哈希集合存放元素的时候是先判断哈希地址值:hashCode()是否相同,如果不同 ...
- 集合>哈希表类Hashtable和SortedList排序列表类
集合>哈希表类Hashtable Hashtable一种键值对的集合 ,哈希表内部的排列是无序的,而且哈希表没有提供排序方法. 集合>哈希表类Hashtable>构造普通哈希表 代码 ...
- [Swift]LeetCode705. 设计哈希集合 | Design HashSet
Design a HashSet without using any built-in hash table libraries. To be specific, your design should ...
- 再谈怎样以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式
今天review代码,看见某些大爷在将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式时仍然仅仅顾结果不注重过程,"大爷"咱能负点责任吗? 将泛型为St ...
- [TimLinux] Python __hash__ 可哈希集合
规则: __hash__ 应该返回一个整数,hash()函数计算基础类型的hash值 可哈希集合:set(), forzenset(), dict() 三种数据结构操作要求 key 值唯一,判断唯一的 ...
随机推荐
- 解决wordpress修改固定链接后出现404错误不能访问文章的方法
首先,建议大家安装完wordpress网站程序之后第一时间设置一下固定链接,避免以后修改出错.在wp后台仪表盘左侧导航里找到“设置——固定链接”即可配置你的wordpress固定链接,通常我习惯使用的 ...
- [原创]App弱网测试方法介绍
[原创]App弱网测试方法介绍 1 什么是弱网? 弱网就是在非正常网络状态下,用户在访问网络时遭遇到网络延迟或是丢包,造成使用产品时用户体验不佳或反感的场景. 2 为什么要进行弱网测试 简而方之, ...
- 【转】gdb typeid 详解
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型, ...
- 【转】linux sed命令
转自:linux sed命令就是这么简单 参考:Linux三大剑客之sed:https://blog.csdn.net/solaraceboy/article/details/79272344 阅读目 ...
- maven 工具
maven 工具 1.打包:mvn clean package 2.打包并安装到本地仓库:mvn clean install 3.利用maven下载源代码:mvn dependency:sources ...
- 在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据
在.Net Core 3.0中 内置了一套Json序列化/反序列化方案,默认可以不再依赖,不再支持 Newtonsoft.Json. 但是.NET Core 3.0 System.Text.Jso ...
- Unable to resolve dependency for ':app@debug/compileClasspath' could not resolve com.android.support:design:28.0.0
使用AndroidStudio3.2报这个错 配置 解决方法 1)去掉代理 gradle目录的下代理属性也 注销掉. 2)项目的gradle设定 3)设定项目的gradle-wrapper.pro ...
- mstar gdb调试
当进程崩溃出现coredump提示时,可以利用gdb来定位出错函数. 首先,把core_dump.XXX.gz文件从设备上拷贝出来,放到编译环境下,另外,还要把代码目录下的symbols文件夹也拷贝到 ...
- Centos7下把python 2.7升级到python 3.6(升级过程遇到的一些相关问题)
Centos 7 默认安装的Python 的版本是2.7的,现在不少人用的是3.x上的版本,故而需要了解下如何从Python2.7升级到Python 3.6. 在虚拟机安装时,网络不通会先遇到一个错误 ...
- C#实体类对应SQL数据库的自增长ID怎么设置?
/// <summary> /// 自增长ID /// </summary> [DatabaseGenerated(DatabaseGeneratedOption.Identi ...