在计算机科学中,hashmap或hash table是一种结构化数据的形式,使得每一条数据都链接到一个唯一的标识号或符号上。这使得检索变得容易,尤其是从包含数千个条目的大型数据库中。hashmap不是程序的特定部分,而是指一种数据组...
在计算机科学中,hashmap或hash table是一种结构化数据的形式,使得每一条数据都链接到一个唯一的标识号或符号上。这使得检索变得容易,尤其是从包含数千个条目的大型数据库中。hashmap不是程序的特定部分,而是指一种数据组织形式,分配每个项,称为键,哈希函数是程序的一部分,它将键链接到它们的值。

人工控制计算机电话簿是hashmap的一个很好的例子,电话簿的布局方式代表了hashmap的结构,它侧重于将不同的值连接在一起,并且只将一个值与另一个对应的项相关联,或电话号码。电话簿中的姓名是钥匙,电话号码是与之相关的值。电话簿中的每个人都被分配了一个不同的号码,没有两个号码是相同的office box也可以作为hashmap的隐喻。每个人都有一个盒子的钥匙。盒子里可以存放多个信息——账单、信件、明信片——所有这些都是为拥有盒子钥匙的人准备的。当正确的钥匙插入或匹配到正确的盒子中时,它就会打开,露出里面的东西功能完善的hashmaps可以将一个键链接到计算机数据库中的一个内存"框"不幸的是,可能会出现一个被称为哈希冲突的因素,即两个键进入同一个盒子。当输入大量数据,而没有足够的"盒子"来容纳所有数据时,就会发生这种情况。与电话簿或邮局信箱不同,hashmaps除了键和它匹配的值或框外,还包括第三个元素。它还包含一个哈希函数。一个人知道哪个邮局的邮箱是她的,但必须告诉计算机哪个邮箱的钥匙是哪个。哈希函数查看密钥,将其转换成一系列数字或代码,并将其链接到包含相应代码的框中,键的名称,如"Mary"只在那里以便人们更容易理解,而实际的代码是一系列数字,供计算机读取。