注:基于JDK 1.8.0_131源代码为例进行分析
hashtable的结构图
hashtable采用桶位+链表结构实现。
hashtable的实现
采用的是“桶位”,即一个Entry数组实现:
Entry节点的实现:主要包括了key、value以及key的哈希值和next指向想一个节点。
说明:
- 代码块1:为Entry节点中包含的key、value、hash、next。
- 代码块2:为Entry的构造函数,即把新节点接在了next链表的开头部分。
相关参数规定
其中,threshold表示table数组扩容的节