• HashTable的基本介绍

      1. 1.存放的元素是键值对
      2. 2.hashTable的键和值都不能为null
      3. 3.hashTable使用方法基本上和Hashmap一样
      4. 4.hashTable是线程安全的,hashMap是线程不安全的
    • HashTable的底层

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