黑马程序员-hashtable_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 黑马程序员-hashtable

黑马程序员-hashtable

 2014/4/17 11:22:07  呆呆傻傻  博客园  我要评论(0)
  • 摘要:散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash)函数一,哈希表(Hashtable)简述在.NETFramework中
  • 标签:程序 程序员 has Hash
散列表(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);

 

class="p0">namespace HashTable

{

    class Program

    {

        static void Main(string[] args)

        {

            Hashtable ht = new Hashtable();

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

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

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

 

            #region 遍历查找

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

            {

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

            }

            else

            {

                Console.WriteLine("不存在");

            }

 

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

            foreach (DictionaryEntry temp in ht)

            {

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

            }

            // 遍历整个集合的键

            foreach (string temp in ht.Keys)

            {

                Console.WriteLine(temp);

            }

            #endregion

 

            /*

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

             * Hashtable中键不允许重复

             */

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

            /*

             * 未处理 ArgumentException(参数异常

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

             */

 

            Console.ReadKey();

        }

    }

}

发表评论
用户名: 匿名