知识大全 哈希表(HashTable)

Posted 元素

篇首语:吃过的馍馍不香,嚼过的甘蔗不甜。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 哈希表(HashTable)相关的知识,希望对你有一定的参考价值。

哈希表(HashTable)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  HashTable 通常称为哈希表 它表示键(key)/值(value)对的集合

   HashTable 的构造函数

  HashTable()              //初始化为 个元素的空实例

  HashTable(Int )      //初始化为int 个元素的新实例

  例子

  HashTable myHashTable = new HashTable();

  HashTable myHashTable = new HashTable( );

   HashTable 元素的特点

  HashTable 获取元素的方法是使用 键 访问键所对应的值 即HashTable[key] 下面是例子

  using System;

  using System Collections Generic;

  using System Text;

  using System Collections;

  namespace Example _

  

  class Program

  

  static void Main(string[] args)

  

  Hashtable myHashTable = new Hashtable();

  //插入相应的键和值组成的元素

  myHashTable Add( H );

  myHashTable Add( e );

  myHashTable Add( l );

  myHashTable Add( l );

  myHashTable Add( o );

  myHashTable Add( int );

  myHashTable Add( double );

  myHashTable Add( bool true);

  //修改相应的键和值组成的元素

  myHashTable[ int ] = ;

  myHashTable[ double ] = ;

  myHashTable[ bool ] = false;

  //输出相应的键和值组成的元素

  Console WriteLine(myHashTable[ ]);

  Console WriteLine(myHashTable[ ]);

  Console WriteLine(myHashTable[ ]);

  Console WriteLine(myHashTable[ ]);

  Console WriteLine(myHashTable[ ]);

  Console WriteLine(myHashTable[ int ]);

  Console WriteLine(myHashTable[ double ]);

  Console WriteLine(myHashTable[ bool ]);

  Console ReadLine();

  

  

  

  程序运行结果如下

  H

  e

  l

  l

  o

  

  

  False

   Hashtable 元素的操作

  ● 添加操作的定义如下

  public virtual void Add(object key lbject value)

  注意 键 不能为空 值可以为空

  ● 删除操作

  HashTable Clear()         //删除所有元素 不带任何参数 清空后HashTable的元素个数为

  示例 myHashTable Clear()

  HashTable Remove()    //删除指定 键 所在的元素

  其定义如下

  public virtual void Remove(Object key)

  示例 myHashTable Remove( int );

  如果HashTable 为只读时进行上述操作会出现异常

   Hashtable 的遍历

  由于Hashtable 的键值对属于DictionaryEntry类型 所以在用foreach 遍历Hashtable 时 类型参数是 DictionaryEntry 看下面示例

  foreach (DictionatyEntry myDE in myHashTable)

  

  Console WriteLine( \\t \\t myDE Key myDE Value);    //注意读取键值的方法

  

   Hashtable 的查询

  Hashtable 查询有以下方法

  ● Hashtable Contains            //判断HashTable中是否包含指定 键

  ● Hashtable ContainsKey      //判断HashTable中是否包含指定 键 同上

  ● Hashtable ContainsValue   //判断HashTable中是否包含指定值 很好!

  示例

  Console WriteLine( myHashTable 包含键 myHashTable Contains( ));

  Console WriteLine( myHashTable 包含键 myHashTable ContainsKey( ));

  Console WriteLine( myHashTable 包含值true myHashTable ContainsValue(true));

  Console WriteLine( myHashTable 包含值 myHashTable ContainsValue( ));

   HashTable 表的优点

  HashTable是System Collections命名空间提供的一个容器 HashTable中的key/value均为object类型 所以HashTable可以支持任何类型的key/value键/值对

cha138/Article/program/net/201311/12349

相关参考

知识大全 数据结构 9.16 哈希表的查找性能

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  在哈希函数相同的情况下处理冲突的方法不同所得哈希表的平均查找长度也不同  线

知识大全 数据结构 9.14 哈希表冲突处理开放定址法

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  一个好的哈希函数只能尽量减少冲突而不能避免冲突因此如何处理发生冲突是建哈希表

知识大全 JAVA中HashMap(哈希表)的使用(List)方法

JAVA中HashMap(哈希表)的使用(List)方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 .Net里的哈希表和串行化的简单介绍

.Net里的哈希表和串行化的简单介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文介绍了里

知识大全 数据结构 9.15 哈希表冲突处理链地址法

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  将所有关键字为同义词的记录链接在一个线性链表中此时的哈希表以指针数组的形式出

知识大全 第五部分 查找[5]

   (五)散列(Hash)表    定义    哈希函数类似于数学中定义的函数每个值都能通过哈希函数算出对应值的  哈希表根据设定的哈希函数和处理冲突的方法将一组关键字

知识大全 数据结构考研分类复习真题 第九章 集合[24]

  对下面的关键字集若查找表的装填因子为采用线性探测再散列方法解决冲突做  ()设计哈希函数; ()画出哈希表;  ()计算查找成功和查找失败的平均查找长度;()写出将哈希表中某个数据元素删

知识大全 判断两个单链表是否相交

这道题有多种算法算法把第一个链表逐项存在hashtable中遍历第个链表的每一项如果能在第一个链表中找到则必然相交staticboolJudgeIntersectLink(LinkheadLinkhe

知识大全 数据结构考研分类复习真题 第九章 集合[48]

  已知某哈希表HT的装填因子小于哈希函数H(key)为关键字的第一个字母在字母表中的序号  处理冲突的方法为线性探测开放地址法编写一个按第一个字母的顺序输出哈希表中所有关键字的程序  处理冲突的方法

知识大全 HashTable类

HashTable类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //HashTable类表示