HashMap和Hashtable有什么区别
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家分享的是有关HashMap和Hashtable有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hashtable是线程安全,而HashMap则非线程安
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
湖州信息网络技术
河北农大网络技术0302班
服务器安全软件狗
街道内网网络安全知识培训
广州找软件开发
燃烧的远征会开新服务器吗
爱数易享云服务器地址怎么填
税务网络安全通知
软考数据库系统工程师书
网络安全防护规范
网络安全宣传周活动社区
公网服务器如何安全
徐州计算机网络技术管理系统
南京电大考试数据库
租服务器ip多少钱
腾讯云服务器怎么改变镜像
无线网络技术课程
网络安全动画小视频
网络安全十三五
公司员工数据库表设计
网络安全思想防线堡垒坚实
虚拟机浏览器显示找不到服务器
三个帮(北京)网络技术
可以学习网络技术的书
金融科技更名互联网巨头
网络安全绘画图片高中
软件开发技术方案内容
三级网络技术零基础
浙江仓储生鲜配送软件开发
易销互联网科技