HashTable & HashMap

1.继承的父类不同,HashTable继承Dictionary,HashMap继承AbstractMap,两者都实现了Map。 2.线程安全性不同。HashTable中的方法是Synchronize的,HashMap在缺省情况下是非Synchronize的。 3.是否提供contains方法。HashTable中提供,功能与ContainsValue类似,HashMap不提供。 4.HashTable不允许key和value为null。HashMap允许有一个key为null,且可以有同一个key对应多个null。因此不能用get()方法判断HashMap中是否存在某个健,而要使用containsKey()判断。 5.HashTable、HashMap都使用了Iterator,而由于历史原因,HashTable还使用了Enumeration的方式。 6.哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。 7.Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。 HashMap中hash数组的默认大小是16,而且一定是2的指数。

转载于:https://my.oschina.net/u/2533093/blog/755154

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值