HashMap和Hashtable的区别_徐长卿

共同点

  • 最常见的 Map 实现
  • 以==键值对==的形式存储和操作数据的容器类型

不同点

  • 元素特性
    • Hashtable: ==不支持 null 键和值==
    • HashMap: ==支持 null 键和值==
    • TreeMap: 红黑树
  • 顺序特性
    • HashTableHashMap无序
    • TreeMap默认升序排序
  • 初始化与增长方式
    • HashTable 不指定容量,默认容量为11
      • 容量不一定为2的整数次幂
      • 扩容: 2n+1
    • HashMap 不指定容量,默认容量为16
      • 容量一定为2的整数次幂
      • 扩容: 2n
  • 线程安全性
    • HashTable线程安全
    • HashMap不支持线程的同步