哈希表集合类型[MSDN]

原创 2004年07月16日 14:38:00

哈希表集合类型


Hashtable 类基于 IDictionary 接口,因此该集合中的每一元素是键和值对。

Hashtable 由包含集合元素的存储桶组成。存储桶是 Hashtable 中各元素的虚拟子组,与大多数集合中进行的搜索和检索相比,它可令搜索和检索更简单、更快速。每一存储桶都与一个哈希代码关联,该哈希代码是使用哈希函数生成的并基于该元素的键。

哈希函数是基于键返回数值哈希代码的算法。键是正被存储的对象的某一属性的值。哈希函数必须始终为相同的键返回相同的哈希代码。一个哈希函数能够为两个不同的键生成相同的哈希代码,但从哈希表检索元素时,为每一唯一键生成唯一哈希代码的哈希函数将令性能更佳。

在 Hashtable 中用作元素的每一对象必须能够使用 Object.GetHashCode 方法的实现为其自身生成哈希代码。但是,还可以通过使用 Hashtable 构造函数(该构造函数将 IHashCodeProvider 实现作为其参数之一接受),为 Hashtable 中的所有元素指定一个哈希函数。

在将一个对象添加到 Hashtable 时,它被存储在存储桶中,该存储桶与匹配该对象的哈希代码的哈希代码关联。在 Hashtable 内搜索一个值时,为该值生成哈希代码,并且搜索与该哈希代码关联的存储桶。

例如,一个字符串的哈希函数可以采用该字符串中每一字符的 ASCII 代码并它们添加到一起来生成一个哈希代码。字符串“picnic”将具有与字符串“basket”的哈希代码不同的哈希代码;因此,字符串“picnic”和“basket”将处于不同的存储桶中。与之相比,“stressed”和“desserts”将具有相同的哈希代码并将处于相同的存储桶中

Redis源码解析(四):redis之数据类型哈希表、列表、集合和有序集合

哈希表也是redis支持的数据结构之一,它使用REDIS_ENCODING_ZIPLIST(压缩列表) 和REDIS_ENCODING_HT(数据字典) 两种编码方式。     当哈希表使用压缩列表时...
  • flashflight
  • flashflight
  • 2015年04月14日 23:18
  • 3131

C# HashSet集合类型使用介绍

C#的HashSet很少被使用的集合类型的一些被常用到的方法。
  • Scalzdp
  • Scalzdp
  • 2014年05月28日 17:00
  • 16910

C++数据结构 之 哈希表(散列表)_Hash Table

C++数据结构 之 哈希表(散列表)_Hash Table源代码只包含头文件注:需要C++11的支持...
  • liu798675179
  • liu798675179
  • 2016年08月12日 10:51
  • 2296

Redis源码分析(十)——哈希表类型t_hash

哈希表是HSET、HLEN等命令的操作对象,他使用REDIS_ENCODING_ZIPLIST(压缩列表)和REDIS_ENCODING_HT(字典)两种编码方式。 当哈希表使用字典编码时,程序将哈...
  • yuyixinye
  • yuyixinye
  • 2014年10月22日 15:42
  • 570

redis 学习手册之哈希表数据类型hashes操作命令

学习如何使用redis 哈希 hashes数据类型的从操作命令
  • Big2008Bone
  • Big2008Bone
  • 2015年12月16日 11:23
  • 304

php源码之路第三章第一节( 变量及数据类型之哈希表)终于终于终于等到你!

现代编程语言中的基本元素主要有:变量,流程控制接口,函数等等。我们能否不使用变量来编写程序呢?这显然是可以的,例如: ...
  • buquan4041
  • buquan4041
  • 2016年10月20日 01:48
  • 1367

集合 和 哈希表的实例

  • 2009年10月28日 11:32
  • 36KB
  • 下载

集合Set和Map之哈希表和链表结构浅谈

哈希表 数组中元素的值和位置有确定(一一对应)的对应关系,这样的数组叫做哈希表(散列表),这种对应关系叫做映射(类似数学中的映射),实际是函数关系。 哈希表最大的优点:是就是把数据的存储和查找消耗的时...
  • wzj_110
  • wzj_110
  • 2017年11月17日 12:53
  • 49

c#常用集合类使用练习(队列Queue、栈Stack、哈希表Hashtable和动态数组ArrayList)(3):

哈希表Hashtable 哈希表又称散列表,表示键值对的集合; 哈希表保存集合元素时,首先要根据建自动计算哈希代码,以确定该元素的保存位置,再把元素的值放入相应位置所指 向的存储桶中; 查找时...
  • Wood_Du
  • Wood_Du
  • 2017年10月25日 19:26
  • 117

.net集合类的研究--哈希表-HashSet<T>

.net集合类的研究--哈希表(二)--HashSet .Net3.5之后出现了HashSet,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法...
  • superhoy
  • superhoy
  • 2014年02月27日 21:24
  • 618
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:哈希表集合类型[MSDN]
举报原因:
原因补充:

(最多只允许输入30个字)