Hashtable类

Hashtable

Hashtable(哈希表)是一种键/值对集合,这些键/值对根据键的哈希代码进行组织。在一个hashtable中插入一对key/value时,它自动将key值映射到value,并允许获取与一个指定的key相关联的value。在hashtable中,主要使用Add和Remove两个方法对哈希进行操作。A断点方法用于将带有指定键和值的元素添加到Hashtable中;Remove方法用于从hashtable中移除带有指定键的元素。

语法:

//使用默认的初始容量、加载因子,哈希代码提供程序和比较器来初始化hashtable类的实例

Public Hashtable();

//使用指定容量,默认加载因子,默认哈希代码提供程序和比较器来初始化hashtable类的实例

Public Hashtable (int capacity);

//使用指定的容量和加载因子来初始化hashtable类的实例

Public hashtable(int capacity, float loadFactor)

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

构造哈希表时,有一些新的概念需要先理解。

  1. 在哈希表中,键被转换为哈希代码,而值存储在存储器中。
  2.  初始容量是指哈希表中元素的数目。加载因子是指哈希表元素与存储器的最大比率,当初始容量需要自动扩展前,确定值与存储之间的最大比率。值越小,出现冲突的几率也越小。.NET默认加载因子为1.0

Hashtable 类的常用属性及说明

属性

说明

Count

获取包含在Hashtable中键/值对的数目

IsFixedSize

获取一个值,该值指示Hashtable是否具有固定大小

IsReadOnly

获取一个值,该值指示Hashtable是否只读

IsSychronized

获取一个值,该值指示是否同步对hashtable的访问

Item

获取或设置与指定的键相关的值

Keys

获取包含hashtable中的键的IColletion

SyncRoot

获取可用于同步hashtable访问的对象

Values

获取包含hashtable中的值的ICollection

  1. 属性值

获取包含在hashtable中的键/值对的数目

Public virtual int Count{get;}

属性值:包含在hashtable中键/值对的数目

  1. Item属性

获取或设置与指定的键相关联的值

Public virtual Object this [Object key] {get;set;}

Key:要获取或设置其值的键

属性值:与指定的键相关联的值。如果未找到指定的键,尝试获取它将返回空引用,尝试设置它将使用指定的键创建新元素。

  1. Keys属性

获取包含hashtable中的键的ICollection。

Public virtual ICollection Keys{get;}

属性值:包含hashtable中的键的ICollection。

  1. Values属性

获取 包含Hashtable中的值的ICollection。

Public virtual ICollection Values {get;}

属性值:一个ICollection 它包含Hashtable中的值

Hashtable类常用的方法及说明

方法

说明

Add

将带有指定键和值的元素添加到哦Hashtable中

Clear

从Hashtable中移除所有元素

Clone

创建Hashtable的浅表副本

Contains

确定Hashtable是否包含特定键

ContainsKey

确定Hashtable是否包含特定键

ContainsValue

确定Hashtable是否包含特定值

CopyTo

将Hashtable元素复制到一维Array实例中的指定索引位置

GetEnumerator

返回循环访问Hashtable的IDictionaryEnumerator

GetHashCode

用做特定类型的哈希函数GetHashCode

Remove

从Hashtable中移除带有指定键的元素

Synchronized

返回Hashtable的同步包装

  1. Add方法。将带有指定键和值的元素添加到Hashtable中。

Public virtual void Add(object key,Object value)

Key:要添加的元素的键

Value:要添加的元素的值,该值可以为空引用。

  1. Clear方法。从Hashtable中移除所有元素。

Public virtual void Clear()

  1. ContainsKey方法。确定Hashtable是否包含特定键

Public virtual bool ContainsKey(Object key)

      Key:要在Hashtable中定位的键。

返回值:如果hashtable包含具有指定键的元素,则为true;否则为false。

存放

说明:Hashtable不能包含重复的key。如果调用Add方法来添加一个keys数组中已有的key,就会抛出异常。为了避免这种情况,可以使用ContainsKey方法来测试哈希表中是否包含一个特定的key

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值