首页 > 硬件测评 > 正文内容

HashMap和Hashtable的区别

时间:2024-06-25 03:01:09

hashtable和hashmap的区别是 

Hashtable和HashMap的主要区别如下:

1. 安全性:Hashtable是线程安全的,它的每一个方法上都有synchonized关键字,因此可以直接用在多线程中。而HashMap是线程不安全的,在多线程并发环境下,可能会产生死锁等问题,因此需要开发人员自己处理多线程的安全问题。

2. 继承的父类:HashMap是继承自AbstractMap类,而Hashtable是继承Dictionary类。不过他们都实现了Map、Collectible、Serializable这三个接口。

3. 对Null的支持:Hashtable的key和value都不能为null。如果key为Null则会抛出空指针异常,value为Null则需要手动抛出异常。而HashMap的key可以为Null,但是这样的key只能有一个,因为必须保证key的唯一性;可以有多个key值对应的value值为Null。

4. 计算hash值的方法:HashMap和Hashtable的hash值计算方式不同。

5. 初始容量大小和每次扩张容量大小:HashMap和Hashtable的初始容量大小和每次扩张容量大小也不同。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益, 请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。
标签:硬件测评

快测评广州东远堂信息科技有限公司版权所有 量子科技网提供支持 粤ICP备15011623号