三,哈希表
- 什么是哈希表
它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。Hashtable类常用的属性
- 为什么会有HashTable
在ArrayList集合中,使用索引访问元素,如果不能确切知道索引的值,访问就比较困难,而HashTable能实现通过一个键来访问一个值,而不需要索引的值
- 什么情况下使用哈希表
(1)某些数据会被高频率查询
(2)数据量大
(3)查询字段包含字符串类型
(4)数据类型不唯一
- 【C#|C# 集合---哈希表(Hashtable)】Hashtable类常用的属性
属性 | 描述 |
---|---|
Count | 获取 Hashtable中包含的键值对个数。 |
IsFixedSize | 获取一个值,表示 Hashtable是否具有固定大小。 |
IsReadOnly | 获取一个值,表示Hashtable是否只读。 |
Item | 获取或设置与指定的键相关的值。 |
Keys | 获取一个 ICollection,包含 Hashtable 中的键。 |
Values | 获取一个 ICollection,包含 Hashtable 中的值。 |
- Hashtable类常用的方法
方法名 | 描述 |
---|---|
public virtual void Add( object key, object value ); | 向Hashtable添加一个带有指定的键和值的元素。 |
public virtual void Clear(); | 从Hashtable中移除所有的元素。 |
public virtual bool ContainsKey( object key ); | 判断Hashtable是否包含指定的键。 |
public virtual bool ContainsValue( object value ); | 判断Hashtable是否包含指定的值。 |
public virtual void Remove( object key ); | 从Hashtable中移除带有指定的键的元素。 |
Hashtable table = new Hashtable();
table.Add(1,"张三");
table.Add(2, "李四");
table.Add("1", "张三");
//声明了一个int作为键类型,string作为值类型的键值对集合
Dictionary list = new Dictionary();
list.Add(1,"zs");
foreach (DictionaryEntry item in table)
{
Console.WriteLine(item.Key+":"+item.Value);
}
推荐阅读
- Delphi|60岁还在写代码的程序员大师,Delphi、C#、TypeScript之父Anders Hejlsberg(安德斯·海尔斯伯格)(编程符合10000小时定律)
- javascript|SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg
- javascript|Delphi、C#之父Anders Hejlsberg首次访华 推广TypeScript
- C#|C# 文件路径操作
- C# 接口实例
- C#|10、接口、抽象、密封、开放封闭原则
- c#|11、C#处理程序异常的技术
- C#|九、C#结构 类 属性
- C#|c# HashtableTo Json 字符串 HashtableToWxJson