时间: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号