HashMap和Hashtable有什么区别
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章给大家分享的是有关HashMap和Hashtable有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hashtable是线程安全,而HashMap则非线程安
千家信息网最后更新 2025年02月07日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安全错误
数据库的锁怎样保障安全
网络安全是什么重要组成部门
部落服务器推荐
计算机网络技术的组成部分
皮甲数据库
达梦数据库获取字段类型
数字新时代网络安全
湖南服务器维修价格表
clay粘土服务器陨落
杭州快象网络技术有限公司
mysql数据库设计文档
网络安全事件报告处置制度
赏金赛为什么显示连接服务器失败
网络安全培训班 线下班
阿里云服务器宝塔面板打不开
开数据游戏怎么还连接不到服务器
医院信息网络安全分析与解决措施
工业互联网东土科技最新消息
近年热门的网络技术
海外独立服务器租用
中国四大神兽网络技术
连接数据库时出现2058
数据库自建还是上云
mchinabox怎么加服务器
软件开发企业 注册资本
做头条广告一定要服务器吗
浙江智慧养老管理平台软件开发
hud系统软件开发
电力信息网络安全招标技术要求
俄罗斯网络安全投入
湖北新一代网络技术服务标准