问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

hashtable是什么?

发布网友 发布时间:2022-03-29 14:59

我来回答

5个回答

热心网友 时间:2022-03-29 16:29

Hashtable 类基于 IDictionary 接口,因此该集合中的每一元素是键和值对。

Hashtable 由包含集合元素的存储桶组成。存储桶是 Hashtable 中各元素的虚拟子组,与大多数集合中进行的搜索和检索相比,它可令搜索和检索更简单、更快速。每一存储桶都与一个哈希代码关联,该哈希代码是使用哈希函数生成的并基于该元素的键。

哈希函数是基于键返回数值哈希代码的算法。键是正被存储的对象的某一属性的值。哈希函数必须始终为相同的键返回相同的哈希代码。一个哈希函数能够为两个不同的键生成相同的哈希代码,但从哈希表检索元素时,为每一唯一键生成唯一哈希代码的哈希函数将令性能更佳。

在 Hashtable 中用作元素的每一对象必须能够使用 Object.GetHashCode 方法的实现为其自身生成哈希代码。但是,还可以通过使用 Hashtable 构造函数(该构造函数将 IHashCodeProvider 实现作为其参数之一接受),为 Hashtable 中的所有元素指定一个哈希函数。

在将一个对象添加到 Hashtable 时,它被存储在存储桶中,该存储桶与匹配该对象的哈希代码的哈希代码关联。当在 Hashtable 内搜索一个值时,为该值生成哈希代码,并且搜索与该哈希代码关联的存储桶。

例如,一个字符串的哈希函数可以采用该字符串中每一字符的 ASCII 代码并它们添加到一起来生成一个哈希代码。字符串“picnic”将具有与字符串“basket”的哈希代码不同的哈希代码;因此,字符串“picnic”和“basket”将处于不同的存储桶中。与之相比,“stressed”和“desserts”将具有相同的哈希代码并将处于相同的存储桶中。

using System;
using System.Collections;
public class SamplesHashtable
{

public static void Main()
{

// Creates and initializes a new Hashtable.
Hashtable myHT = new Hashtable();
myHT.Add( "First ", "3 ");
myHT.Add( "Second ", "2 ");
myHT.Add( "Third ", "1 ");

// Displays the properties and values of the Hashtable.
Console.WriteLine( "myHT " );
Console.WriteLine( " Count: {0} ", myHT.Count );
Console.WriteLine(myHT[ "First "]);//***也可以这它!
Console.WriteLine( " Keys and Values: " );
PrintKeysAndValues( myHT );
}
public static void PrintKeysAndValues( Hashtable myList )
{
IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
Console.WriteLine( "\t-KEY-\t-VALUE- " );
while ( myEnumerator.MoveNext() )
Console.WriteLine( "\t{0}:\t{1} ", myEnumerator.Key, myEnumerator.Value);

}
}

热心网友 时间:2022-03-29 17:47

哈希表(Hashtable)又称为“散置”,Hashtable是会根据索引键的哈希程序代码组织成的索引键(Key)和值(Value)配对的集合。Hashtable 对象是由包含集合中元素的哈希桶(Bucket)所组成的。而Bucket是Hashtable内元素的虚拟子群组,可以让大部分集合中的搜寻和获取工作更容易、更快速。

热心网友 时间:2022-03-29 19:21

在C#中是一个类。
这个类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。
参考:http://ke.baidu.com/view/1641943.htm

热心网友 时间:2022-03-29 21:13

hashtable是个集合,通过键值对的方式来保存数据,它通过Add方法来添加Add(object key,object value);

热心网友 时间:2022-03-29 23:21

哈希表
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
含羞草图片-含羞草(花期图,果期图,欣赏图) 全球气候变暖的后果 全球气候变暖有什么影响 情侣身高差几离米最何适?我167,穿蓝球鞋171,女朋友要多高? 如何禁止u盘传文件 事业单位醉驾会开除吗? excel表格负数金额怎么输入 exce怎么输入负数-excel中输入正负数教程 能让仓鼠跟着走的音乐? ...件和合同都发过去给他了他要我在打1000块钱过去。 我在人人贷款了30000元!合同也签了!但是人家就是没有放款!还让我到一... 利息指的是什么 简述利息的概念及本质 利息怎么理解 利息有哪几种形式,分别是什么? 关于利息的知识 利息是如何计算的? 什么叫利息? 利息的概念是什么 利息的含义及种类 利息是什么意思? 什么叫利息? 什么是利息? 利息是什么? 利息的意思是什么? 利息怎么算 怎么改路由器的Wi-Fi名称 wifi名字怎么改 如何更改wifi名称? wifi账号怎么改名字 OPPO机怎么改WiFi名字? 《创4》初C已定,打破了什么魔咒? 主题曲初C林君怡成团失败,是有实力没观众缘,还是... 《创四》主题曲舞台初C是刘宇,他能镇得住场子吗? ​哪些艺人主题曲站c位,但是最终没有成功走... 罗一舟拿了主题曲初C没进出道位,看他的实力你觉得... 青春有你3c位是谁? 《创造营》主题曲C位林焕钧是谁? 余景天“谁说初c即终c”言论,你是如何看待的? 问一个很简单的问题,创造营里说的初C啥意思啊?谢... 请问当初创造营2019的初C是谁? 创系选秀初C魔咒之外,四季节目都有人退赛,还要继... 青3初C即终C,创4主题曲C位不成团,两大魔咒都要被... 《青你3》初C没进出道位,对于选秀选手来说观众缘... 《青你3》应援头像来了,余景天退赛。谁最可能c位... 罗一舟最新排名第二,你认为他可以成为桃系选秀第... 《青你》初c没有进出道位,余景天要打破选秀规则,... 创造2020主题曲是什么? 创1初c是谁? 《青你》第一次排名,初c居然没有在出道位,你觉得... 《创4》主题曲出炉,这一季谁能成为最大赢家?