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 值唯一,判断唯一的 ...
随机推荐
- 在error日志打印异常
在日志中打印异常,经常会看到以下的写法: logger.error(e.getMessage()); 或者是: e.printStackTrace(); 这两种其实都不太好. e.getMessage ...
- cloneable以及深拷贝和浅拷贝
Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...
- unity EditorGUILayer绘制报错
最近在开发一个可视化工具的时候,遇到了一个代码错误,小小的记录一下 具体的报错信息:ArgumentException: Getting control 0's position in a group ...
- 【Gamma】 Scrum Meeting 1
github 本此会议项目由PM召开,召开时间为5月26日晚上10点 召开时长20分钟 任务表格 姓名 当前任务 下阶段任务 袁勤 后端插入判断题 后端插入简答题 彭一夫 填空题答题前端 判断题答题前 ...
- Net core学习系列(八)——Net Core日志
一.简介# 日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 Conso ...
- [web] react一些些
作者:水落斜阳链接:https://www.jianshu.com/p/4fb47009c330来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1.react comp ...
- Python3+mitmproxy安装使用教程(Windows)(转载)
mitmproxy 是用于MITM的proxy,MITM中间人攻击.说白了就是服务器和客户机中间通讯多增加了一层.跟Fiddler和Charles最大的不同就是,mitmproxy可以进行二次开发,尤 ...
- Research Guide: Pruning Techniques for Neural Networks
Research Guide: Pruning Techniques for Neural Networks 2019-11-15 20:16:54 Original: https://heartbe ...
- 两款不错的js甘特图控件
dhtmlx:https://docs.dhtmlx.com/ jQuery.Gantt:http://taitems.github.io/jQuery.Gantt/
- 为什么JDK代码这样写?final ReentrantLock takeLock = this.takeLock
在CopyOnWriteArrayList的源码中有一个细节值得学习,就是在addIfAbsent方法中ReentrantLock的用法,先是将一个这个成员变量this.lock重新赋值给一个局部变量 ...