目录
1. 基本介绍
(1)存放的元素是k-v键值对。
(2)hashtable的键key和值value都不能为null。
(3)hashtable使用方法基本上和HashMap一样。
(4)hashtable是线程安全的,hashMap是线程不安全的。
2. Hashtable类 底层机制分析
(1)底层有数组Hashtable$Entry[],初始化大小为11。
(2)临界值threshold为8(11 * 0.75)。
(3)扩容:按照自己的扩容机制来进行即可。
(4)执行方法addEntry(hash, key,value, index);添加k-v封装到Entry。
(5)当if (count >= threshold)满足时,就进行扩容。
(6)按照int newCapacity =(oldCapacity << 1)+ 1的大小扩容。
3. Hashtable 和 HashMap比较
版本 | 线程安全(同步) | 效率 | 允许null键null值 | |
HashMap | 1.2 | 不安全 | 高 | 可以 |
Hashtable | 1.0 | 完全 | 较低 | 不可以 |