(1)HashMap是Hashtable的轻量级实现,它们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),而Hashtalbe不允许。
(2)HashMap没有contains方法,而是containsValue和containsKey。
(3)Hashtable的方法是线程安全的,而HashMap不是线程安全的。
(4)HashMap使用Iterator,Hashtable使用Enumeration。
(5)HashMap和Hashtable采用的hash/rehash算法都几乎一样,所以性能不会有很大的差异。
(6)在Hashtable中,hash数组默认大小是11,增加的方式是old*2+1。在Has和Map中,hash数组的默认大小是16,而且一定是2的倍数。
(7)hash值的使用不同,Hashtable直接使用对象的hashCode。
总结一下HashMap和Hashtable的区别
最新推荐文章于 2024-08-14 23:12:09 发布