C#入门及进阶|数组和集合(八):HashTable类介绍

本文介绍了ArrayList和HashTable在数据存储上的区别,重点阐述了哈希表的键/值对存储方式以及常用的属性和方法,包括添加、获取和清除元素等操作,同时列举了Hashtable的几种构造函数示例。
摘要由CSDN通过智能技术生成

        在ArrayList集合中,可以使用索引访问元素,如果不能确切知道索引的值,访问就比较困难。HashTable称为哈希表,和ArrayList不同,它利用键/值来存储数据,在哈希表中,每个元素都是一个键/值对,并且是一一对应的,通过"键"就可以得到"值"。如果存储电话号码,通常是姓名和电话号码存在一起,存储时把姓名当作键,号码作为值,通过姓名即可查到电话号码,这就是一个典型的哈希表存储方式。

        哈希表常用的属性如下表所示:

属性名称 属性说明
Count获取包含在Hashtable中的键/值对的数目

Keys

获取包含Hashtable中的所有键的集合
Values获取包含Hashtable中的所有值的集合

        哈希表常用的方法如下表所示:

方法名称 方法说明
Add将带有指定键和值的元素添加到Hashtable中
Clear从Hashtable中移除所有元素
Contains确定Hashtable是否包含特定键
GetEnumerator返回IDictionaryEnumerator,可以遍历Hashtable
Remove从Hashtable中移除带有指定键的元素

        Hashtable类提供了15个重载的构造函数,比较常用的4种Hashtable构造函
数声明如下。

        (1)使用默认的初始容量、加载因子、哈希代码提供程序和比较器来初始化 Hashtable类的实例:

public Hashtable();

        (2)使用指定容量、默认加载因子、默认哈希代码提供程序和比较器来初始化Hashtable类的实例:

public Hashtable(int capacity);

        (3)使用指定的容量,加载因子来初始化Hashtable类的实例:

public Hashtable(int capacity, float loadFactor);

        (4)通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。新 Hashtable 对象的初始容量等于复制的元素数,并且使用默认的加载因子、哈希代码提供程序和比较器:

public Hashtable(IDictionary d);

        下面是一个初始化一个新的Hashtable对象并向其中添加元素并输出的代码实例: 

static void Main(string[] args)
{
    // Creates and initializes a new Hashtable.
    Hashtable myHT = new Hashtable();
    myHT.Add( "one", "Cristiano Ronaldo" );
    myHT.Add( "two", "is" );
    myHT.Add( "three", "the" );
    myHT.Add( "four", "best" );
    // Displays the Hashtable.
    Console.WriteLine( "The Hashtable contains the following:" );
    foreach ( DictionaryEntry de in myHT )
        Console.WriteLine( "\t{0}:\t{1}", de.Key, de.Value);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值