当HashMap遇到Hashtable

1、两者父类不同

hashMap继承AbstractMap类,而hashtable继承Dictionary类。但他们都同时实现了Map,Cloneable,Serializable三个接口

                          

2、对外提供的方法不同
hashtable比hashMap多提供了elements()和contains()两个方法

3、对null的支持不同

hashMap:key允许为空,这样的键只允许一个

hashtable:key和value都不支持null

4、安全性不同

HashMap线程不安全,Hashtable线程安全

5、初始化大小和扩容大小不同

(1)HashMap初始化大小是16,Hashtable初始化大小为11

(2)HashMap底层数组容量要求一定为2的整数幂,Hashtable没要求

(3)HashMap扩容时将容量变为原来的2倍,Hashtable将容量变为原来的2倍+1

6、计算hash值的方法不同

HashMap重新计算了key的hash值,而Hashtable计算hash值,直接用key的hashCode(),

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值