首页 > 其他 > 详细

HashMap与HashTable的区别

时间:2018-09-30 10:37:11      阅读:152      评论:0      收藏:0      [点我收藏+]

HashTable是在Java1.0推出的,内部大量使用synchronized同步锁保证线程安全,导致效率低下。HashMap是在Java1.2新集合框架重写时推出的,为了提升性能,而放弃了线程安全。

HashTable不允许存入空Key和空Value。HashMap允许存放空key和空值,当多个空key时,只保留最后一个(相当于HashMap不允许有重复key)。

HashTable继承Dictionary(字典)抽象类来枚举key和value。HashMap不再使用这种方式,使用迭代器或key集合来遍历。

HashTable默认的初始大小为11,之后每次扩充为原来的2n+1。HashMap默认的初始化大小为16,之后每次扩充为原来的2倍。

解决冲突方面,Java8中的HashMap使用了红黑树,提升了性能。

HashMap与HashTable的区别

原文:https://www.cnblogs.com/huigee/p/9728336.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!