本期文章介绍的数据结构是Hashtable。
【主要特征】
Hashtable的主要特征如下:(1) 是一种抽象的数据结构;(2) 可以通过Key调用对应的Value。数据在Hashtable是成对存在的,形式如下:{‘key1’:‘value 1’; ‘key2’: ‘value2’…};熟悉Python的同学可以发现,Java中的Hashtable其实就是Python中的Dictionary。
【创建过程】
Hashtable在Java中的创建过程如下:
(1) 首先,我们要有成对的Key/Value数据。例如,{‘Jack’,‘22’, ‘John’:‘31’, ‘Mike’:‘25’};
(2) 接着,我们需要把每对数据的Key跟一个整数匹配起来。这个过程在Java中叫做Hash Keys。例如,第一个Key,即’Jack’,会与整数’1’匹配;第二个Key,即’John’,会与整数’2’匹配;第三个Key,即’Mike’, 会与整数’3’匹配。在Java中,有Object.hashCode()可以实现这个功能。正因为我们会将Key与整数匹配起来,所以Key可以是任何的数据类型,可以是数字,也可以是字符串。
(3) 将Value储存在对应的Key上。创建完成。
要注意的是,在创建Hashtable的过程中,非常容易遇到多个具有相同Key的数据,那么这个时候,创建就会出现错误。举个例子说明,我们有Key/Value Pair {‘Joh