关注
1.安全性
Hashtable是线程安全,HashMap是非线程安全。HashMap的性能会高于Hashtable,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用Collections.synchronizedMap()方法来获取一个线程安全的集合(Collections.synchronizedMap()实现原理是Collections定义了一个SynchronizedMap的内部类,这个类实现了Map接口,在调用方法时使用synchronized来保证线程同步
2.是否可以使用null作为key
HashMap可以使用null作为key,不过建议还是尽量避免这样使用。HashMap以null作为key时,总是存储在table数组的第一个节点上。而Hashtable则不允许null作为key
3.继承了什么,实现了什么
HashMap继承了AbstractMap,HashTable继承Dictionary抽象类,两者均实现Map接口
4.默认容量及如何扩容
HashMap的初始容量为16,Hashtable初始容量为11,两者的填充因子默认都是0.75。HashMap扩容时是当前容量翻倍即:capacity 2,Hashtable扩容时是容量翻倍+1即:capacity (2+1)
6.底层实现
HashMap和Hashtable的底层实现都是数组+链表结构实现
7.计算hash的方法不同
Hashtable计算hash是直接使用key的hashcode对table数组的长度直接进行取模HashMap计算hash对key的hashcode进行了二次hash,以获得更好的散列值,然后对table数组长度取模
查看原帖
点赞 1
相关推荐
03-12 21:53
南昌航空大学 Java 还是想躺平了:那就认清呗,按他们说的读研读博,爆着家里米然后边玩边学,考不上就再考一年反正花的家里钱,等他们被啃得受不了了来怪你,就说当年都要找到工作了被谁搞没了
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 这个offer值得去吗? #
20578次浏览 174人参与
# 上班苦还是上学苦呢? #
345197次浏览 2069人参与
# 在爱玛,骑向未来 #
2145次浏览 213人参与
# 如果春招能重来,我会___ #
21389次浏览 225人参与
# 提名点击就挂的公司 #
144106次浏览 491人参与
# 除了线上,还能去哪些地方投简历 #
11431次浏览 115人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
47645次浏览 515人参与
# 实习怎么做才有更好的产出 #
49901次浏览 456人参与
# AI coding的好用工具分享 #
88444次浏览 567人参与
# 字节开奖 #
150733次浏览 682人参与
# 找工作以来,你最看不惯__ #
79401次浏览 594人参与
# 大学四年该怎么过,才不算浪费时间? #
23842次浏览 106人参与
# 面试等了一周没回复,还有戏吗 #
245968次浏览 1857人参与
# 字节7000实习来了,你投了吗? #
55218次浏览 421人参与
# 毕业后不工作的日子里我在做什么 #
269096次浏览 1739人参与
# 薪资爆料 #
422319次浏览 2226人参与
# 我的秋招“寄”录 #
476355次浏览 3062人参与
# HR问:你期望的薪资是多少?如何回答 #
99326次浏览 833人参与
# 双非应该如何逆袭? #
586085次浏览 6391人参与
# 双非本科求职如何逆袭 #
1648292次浏览 13078人参与
# 字节求职进展汇总 #
1847663次浏览 15402人参与
# 你觉得实习能学到东西吗 #
154114次浏览 1494人参与
