哈希表:原理、实现与应用
1. 哈希表基础
哈希表(Hash Table),也被称为映射(Map)、查找表(Lookup Table)、关联数组(Associative Array)或字典(Dictionary),是一种允许通过任意索引类型直接访问元素的容器。它与数组或向量类似,但索引变量不必是整数。就像字典一样,索引变量是要查找的单词,而它所索引的元素则是该单词的字典定义。
哈希表是由键值对组成的序列。键值对的第一个组件称为键(Key),它作为表的索引,类似于数组中使用的下标整数。第二个组件称为该键的对应值(Value),包含要查找的信息。
1.1 Java中的Map接口
Java集合框架包含一个 Map
接口,定义在 java.util
包中,如下所示:
public interface Map {
int size();
boolean isEmpty();
boolean containsKey(Object key);
boolean containsValue(Object value);
Object get(Object key);
Object put(Object key, Object value);
Object remove(Object key);
void putAll(Map map);
void clear();
public Set keySet();
public Collection values();
public Set entr