036_Hashtable和HashMap的区别

1. Hashtable和HashMap的区别

1.1. Hashtable线程安全, 效率低; HashMap线程不安全, 效率高

1.2. Hashtable父类是Dictionary; HashMap是AbstractMap

1.3. Hashtable键与值不能为null; HashMap键最多一个为null,值可以多个null

2. Hashtable是通过方法体上加synchronized关键字来保证线程安全的, HashMap则没有synchronized关键字

2.1. Hashtable的put方法

2.2. HashMap的put方法

3. Hashtable键与值不能为null。Hashtable使用键直接进行了hashcode换算, 如果键为空就会出现空指针异常。Hashtabl同时对值进行了空值判断, 如果值为空就会抛出一个空指针异常。

4. HashMap键最多一个为null,值可以多个null。HashMap在对键进行hash换算时, 如果发现键为空, hash值就是0, 所以键允许有一个null。HashMap存放时并不关心值, 所以值可以多个空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值