是否线程安全
hashMap不是线程安全的,HashTable是线程安全的,HashTable 内部的方法基本都经过synchronized 修饰。
效率
hashMap效率要高,HashTable基本被淘汰了,
null
HashMap可以有null作为键来对应value,HashTable不可以。
容量
HashMap的初始容量是16,后期扩容为先前容量的两倍,HashTable的初始容量为11,扩容为原先的2n+1。
底层数据结构
HashMap底层使用链表,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索时间。Hashtable 没有这样的机制。