HashMap和Hashtable都是Map的实现类,所以它们的特性有很多相似之处。
但是它们也有一些区别:
1.HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
2.HashMap允许键和值是null,而Hashtable不允许键或者值是null。
3.HashTable使用Enumeration,HashMap使用Iterator
4.Hashtable中的方法是同步的,而HashMap中的方法在默认情况下不是同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。所以HashMap更适合单线程环境,而Hashtable更适合多线程环境。
.