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