HashMap 和 HashTable的区别?

1、是否线程安全:

hashmap 非线程安全,hashtable 线程安全(底层用了synchronize修饰),所以hashmap的效率比hashtable高,hashmap想要保证线程安全可以用从concurrentHashMap

2、底层实现

hashmap 数组+链表+红黑树,

hashtable 数组+链表(没有链表长度>8则链表转换为红黑树的机制)

3、初始容量和扩容方式

hashmap 初始容量16,扩容方式2的n次方

hashtable 初始容量11, 扩容方式2*old+1

4、key和value是否可以为空

hashmap 的key和value都可以为空,但只允许一个key为空

hashtable的key和value都不允许为空

5、迭代方式

hashmap用Enumeration

hashtable用Iterator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值