HashMap和Hashtable有什么区别
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章给大家分享的是有关HashMap和Hashtable有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hashtable是线程安全,而HashMap则非线程安
千家信息网最后更新 2024年11月13日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安全错误
数据库的锁怎样保障安全
软件开发帮别人面试
服务器未来十年需求量
网络技术排行榜
明日之后大神用哪个服务器
单片机嵌入式软件开发招聘
亿家安互联网科技直播
在线数据库中国图书
娄底市网络安全
服务器死机还能联网吗
rust怎么打开服务器端口
计算机网络安全密码学题库
rose 数据库
空间数据库文件
华东师范大学闵行校区公共数据库
mysql连接数据库类
不登录如何查询数据库
网络安全法是哪一年颁布
服务器远程连接管理器
运行数据库避免出错的内存
遍历数据库显示
南昌软件开发专业公司
青少年网络安全留言
做软件开发要学习哪些
化教学应用工具软件开发及
新致软件开发面试
软件开发岗位 不限经验
信阳计算机软件开发就业前景
税务信息网络安全ppt模板
学了软件开发好难
企业网络安全系统要多少钱