哈希表:原理、应用与实现
一、哈希表基础概念
(一)什么是哈希表
哈希表(Hash Table),也被称为映射(Map)、查找表(Lookup Table)、关联数组(Associative Array)或字典(Dictionary),是一种允许通过任意索引类型直接访问元素的容器。它与数组或向量类似,但索引变量不一定是整数。例如,字典就是一个很好的类比,索引变量是要查找的单词,而它所索引的元素则是该单词的字典定义。
哈希表由一系列键值对组成。键值对的第一个组件称为键(Key),它作为表的索引,类似于数组中使用的下标整数;第二个组件称为键的对应值(Value),包含要查找的信息。
(二)哈希表的别称及原因
- 映射(Map) :因为可以将键映射到其对应的值,就像数学函数 ( f(key) = value ) 一样。
- 关联数组(Associative Array) :可以使用两个并行数组来实现,一个数组存储键,另一个数组存储值。
- 字典(Dictionary) :其使用方式与普通自然语言字典相同,用于查找元素,就像在字典中查找单词一样。
(三)Java 中的 Map 接口
Java 集合框架包含一个 Map
接口,定义在 java.util
包中,如下所示:
public in