首页 > 学院 > 开发设计 > 正文

黑马程序员-hashtable

2019-11-17 01:29:34
字体:
来源:转载
供稿:网友

黑马程序员-hashtable

  散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。  给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数

  一,哈希表(Hashtable)简述

  在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.

  二,哈希表的简单操作

  在哈希表中添加一个keyvalue键值对:HashtableObject.Add(key,value);   在哈希表中去除某个keyvalue键值对:HashtableObject.Remove(key);   从哈希表中移除所有元素: HashtableObject.Clear();   判断哈希表是否包含特定键key: HashtableObject.Contains(key);

namespaceHashTable

{

classPRogram

{

staticvoidMain(string[]args)

{

Hashtableht=newHashtable();

ht.Add("张三","12345678");

ht.Add("李四","010-1234");

ht.Add("王五","12345678901");

#region遍历查找

if(ht.ContainsKey("王五1"))

{

Console.WriteLine(ht["王五1"]);

}

else

{

Console.WriteLine("不存在");

}

//如何遍历这个集合呢?

foreach(DictionaryEntrytempinht)

{

Console.WriteLine(temp.Key+""+temp.Value);

}

//遍历整个集合的键

foreach(stringtempinht.Keys)

{

Console.WriteLine(temp);

}

#endregion

/*

*我现在加入一个名字叫“张三”的人,可以吗?

*Hashtable中键不允许重复

*/

ht.Add("张三","12345678");

/*

*未处理ArgumentException(参数异常)

*已添加项。字典中的关键字:“张三”所添加的关键字:“张三”

*/

Console.ReadKey();

}

}

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表