当前位置:首页 > C#学习 > 正文内容

哈希表(Hashtable)

小道6年前 (2018-09-01)C#学习3219

Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访问集合中的元素。

当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。

key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对

在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value); 

在哈希表中去除某个key/value键值对:HashtableObject.Remove(key); 

从哈希表中移除所有元素:               HashtableObject.Clear();  

判断哈希表是否包含特定键key:      HashtableObject.Contains(key); 

Hashtable 类的方法和属性

下表列出了 Hashtable 类的一些常用的 属性:


属性描述
Count获取 Hashtable 中包含的键值对个数。
IsFixedSize获取一个值,表示 Hashtable 是否具有固定大小。
IsReadOnly获取一个值,表示 Hashtable 是否只读。
Item获取或设置与指定的键相关的值。
Keys获取一个 ICollection,包含 Hashtable 中的键。
Values获取一个 ICollection,包含 Hashtable 中的值。

下表列出了 Hashtable 类的一些常用的 方法:


序号方法名 & 描述
1public virtual void Add( object key, object value ); 
       向 Hashtable 添加一个带有指定的键和值的元素。
2public virtual void Clear(); 
       从 Hashtable 中移除所有的元素。
3public virtual bool ContainsKey( object key ); 
       判断 Hashtable 是否包含指定的键。
4public virtual bool ContainsValue( object value ); 
       判断 Hashtable 是否包含指定的值。
5public virtual void Remove( object key ); 
       从 Hashtable 中移除带有指定的键的元素。

实例:

        static void Main(string[] args)
        {
            Hashtable ht = new Hashtable();//声明一个Hashtable表
            ht.Add("鱼", "小雨");//添加带有 键和值的元素。
            ht.Add("键", "值");//添加带有 键和值的元素。
            ht.Add("01", "aa");//添加带有 键和值的元素。
            ht.Add("02", "bb");//添加带有 键和值的元素。
            ht.Add("03", "cc");//添加带有 键和值的元素。
            ht.Add("04", "dd");//添加带有 键和值的元素。
            ht.Add("05", "ee");//添加带有 键和值的元素。
            ht.Add(01, 001);//添加带有 键和值的元素。
            ht.Add(02, 002);//添加带有 键和值的元素。
            ht.Add(03, "abc");//添加带有 键和值的元素。
            ht.Add("tt", 12345);//添加带有 键和值的元素。
            if (ht.ContainsValue(001))//判断表中是否有001数据
            {
                Console.WriteLine("Hashtable表中包括001值.");//输出
            }
            Console.WriteLine("Hashtable表中不包括001值.");//输出
            ht.Remove("02");//删除表中 键值为:02 字符串的值
            ICollection k = ht.Keys;//获取表中所有的键。
            foreach (var s in k)//遍历键。
            {
                Console.WriteLine(s+"键中对应的值为:"+ht[s]);//输出
            }
            Console.ReadKey();//按任意键结束
        }

输出结果:

image.png


哈希表(Hashtable)缺点和动态数组(ArrayList)表一样,可以添加任何数据类型,添加的类型是:Object类型。


扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/98.html

分享给朋友:

“哈希表(Hashtable)” 的相关文章

函数:给我一个字符串,然后字符串使用我指定的分隔符来进行分割

函数:给我一个字符串,然后字符串使用我指定的分隔符来进行分割

函数就是将一堆代码进行重用的一种机制。函数就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。有了函数写代码就像拼积...

继承

继承

定义类的时候不指定父类,则父类是Object类。Object类是任何类的直接或者间接父类。    class Program     {      &nbs...

异常与异常处理

异常与异常处理

传统的错误表示方式:错误码。举例。需要知道不同错误码的含义,如果不处理错误码,则程序可能陷入不可以预置的错误。陈摄影师以为文件已经被删除造成的麻烦。错误码的缺点:不处理则很难发现,每次处理则很麻烦;难以看出错误的原因;容易使得程序进入不确定状态。try catch。Exception ex 异常也是...

命名空间namespace

命名空间namespace

namespace(命名空间),用于解决类重名问题,可以看做“类的文件夹”。在代码中使用其他类的时候需要using类所在的namespace。System.Collections.ArrayList,快速引入的方法,右键→解析(Ctrl+.)。为什么使用Convert、Console等类不需要自己写...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。