- Hashtable基于陈旧的Dictionary类,而HashMap则是基于AbstractMap类
|
|
- HashMap是非线程安全的,Hashtable则是线程安全的
- HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。Hashtable在put()时,使用null时不会出现编译错误,但在运行的时候会出现空指针异常
|
|
- HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
|
|
- 对hash值的计算不同,Hashtable直接使用对象的hashCode值,而HashMap则重新求
|
|