关注
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
相关推荐
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 对2025年忏悔 #
3420次浏览 91人参与
# 新年的第一句祝福 #
50828次浏览 374人参与
# 实习没人带,苟住还是跑路? #
10757次浏览 240人参与
# 运营来爆料 #
72460次浏览 454人参与
# 元旦假期你打算怎么过 #
7055次浏览 161人参与
# 腾讯音乐求职进展汇总 #
145596次浏览 1039人参与
# 春招前还要继续实习吗? #
3350次浏览 55人参与
# 面试官问过你最刁钻的问题是什么? #
8001次浏览 91人参与
# 领导秒批的请假话术 #
30390次浏览 120人参与
# 一人说一家双休的公司 #
6107次浏览 89人参与
# 大家实习都在做什么? #
7933次浏览 86人参与
# 我们是不是被“优绩主义”绑架了? #
8469次浏览 279人参与
# 阿里求职进展汇总 #
444101次浏览 3922人参与
# 电网笔面经互助 #
56899次浏览 470人参与
# 如何提高实习转正率? #
73128次浏览 463人参与
# 腾讯工作体验 #
548326次浏览 3659人参与
# 实习教会我的事 #
47661次浏览 356人参与
# 面试常问题系列 #
262213次浏览 4672人参与
# 牛客2025仙途报告 #
35351次浏览 472人参与
# 国企还是互联网,你怎么选? #
191079次浏览 1476人参与
传音控股公司福利 360人发布