【❂Java集合】HashMap和HashTable的区别?

  • HashMap和HashTable都实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。
  • HashMap的初始容量为16,Hashtable初始容量为11,两者的填充因子默认都是0.75。
  • HashMap扩容时是当前容量翻倍:capacity*2,Hashtable扩容时是容量翻倍+1即:capacity*2+1。
  • HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashTable是线程安全的
  • HashMap中key和value都允许为null。key为null的键值对永远都放在以table[0]为头结点的链表中。HashTable在遇到null时,会抛出NullPointerException异常。
  • HashMap仅支持Iterator的遍历方式,Hashtable支持Iterator和Enumeration两种遍历方式。
posted @ 2023-03-17 08:49  残城碎梦  阅读(14)  评论(0编辑  收藏  举报