HashMap和Hashtable有什么区别
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关HashMap和Hashtable有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hashtable是线程安全,而HashMap则非线程安
千家信息网最后更新 2026年11月01日HashMap和Hashtable有什么区别
这篇文章给大家分享的是有关HashMap和Hashtable有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Hashtable是线程安全,而HashMap则非线程安全
Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步
HashMap可以使用null作为key,而Hashtable则不允许null作为key
HashMap是对Map接口的实现,HashTable实现了Map接口和Dictionary抽象类
HashMap的初始容量为16,Hashtable初始容量为11,两者的填充因子默认都是0.75
HashMap扩容时是当前容量翻倍即:capacity*2,
Hashtable扩容时是容量翻倍+1即:capacity*2+1
两者计算hash的方法不同
static int hash(int h) { // This function ensures that hashCodes that differ only by // constant multiples at each bit position have a bounded // number of collisions (approximately 8 at default load factor). h ^= (h >>> 20) ^ (h >>> 12); return h ^ (h >>> 7) ^ (h >>> 4); } static int indexFor(int h, int length) { return h & (length-1); }int hash = key.hashCode();int index = (hash & 0x7FFFFFFF) % tab.length;
Hashtable计算hash是直接使用key的hashcode对table数组的长度直接进行取模
HashMap计算hash对key的hashcode进行了二次hash,以获得更好的散列值,然后对table数组长度取摸
HashMap和Hashtable的底层实现都是数组+链表结构实现
感谢各位的阅读!关于"HashMap和Hashtable有什么区别"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
容量
数组
线程
安全
内容
接口
方法
更多
篇文章
长度
不同
不错
实用
关键
关键字
因子
底层
文章
看吧
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
广州为想互联网科技有限公司
为想互联网科技怎么样
百单互联网科技有限公司
掌上梦互联网科技
玖二柒互联网科技公司待遇
小米互联网科技园设置
湖南诚度互联网科技有限公司
华夏互联网科技业
洛阳昕诺飞互联网科技有限公司
深圳市优智互联网科技有限公司
广西互联网科技孵化中心
浙南科技城互联网大厦建设工程
互联网第三次科技革命特征
南通创西澳互联网科技有限公司
黑云互联网科技有限公司
互联网科技接地气
绵阳真晨互联网科技有限公司
六子台科技互联网展会
前海云享互联网科技
花魁咖啡
中关村互联网科技集团
互联网科技巨头监管
智能科技公司是互联网公司吗
互联网科技资迅
互联网科技小额贷款
宁夏科技产业互联网案例
互联网科技平台产品运营
马化腾互联网科技教学
广州全民伙伴互联网科技有限公司