高薪程序员&面试题精讲系列36之说说HashMap与HashTable的区别有哪些?

本文详细探讨HashMap与Hashtable的区别,包括它们的继承关系、线程安全、null处理策略、遍历方式、初始容量与扩容机制、hash算法以及底层数据结构。HashMap是线程不安全但效率高,允许null键值对,而Hashtable线程安全但效率较低,不接受null键值对。两者遍历顺序不同,HashMap在JDK 8后进行了优化,支持红黑树。此外,HashMap的hash算法更注重效率,而Hashtable追求更均匀的哈希分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 面试题及剖析

1. 今日面试题

HashMap与HashTable的区别有哪些?

hash一致性算法了解吗?原理是什么?底层怎么实现的?

.......

2. 题目剖析

今天这道题目,考察的还是我们对集合,尤其是Map集合的掌握情况。在前面的章节中,壹哥 就给大家讲过,HashMap和Hashtable都是Map集合的子类,我们开发时用的最多的Map子类就是HashMap。早期的时候在多线程环境下,Hashtable用的也蛮多,但是现在已经我们不建议使用Hashtable了,因为Hashtable已经过时了,而且现在还有更好用的线程安全的Map子类。

其实这道题目,面试官想重点考查的,无非就是Map中不同子类对线程安全性、并发操

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一一哥Sun

您的鼓励是我继续创作的动力哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值