HashSet 与 HashMap 关系
面试官问:"HashSet 底层是怎么实现的?"
候选人小项答:"HashSet 底层用的是 HashMap。"
面试官追问:"具体是怎么用 HashMap 实现的?"
小项说不上来。
【面试官心理】 HashSet 依赖 HashMap 实现是 Java 集合框架的经典设计。能说出 HashSet 用 HashMap 存储元素作为 key、固定 value 作为占位符的候选人,说明对 JDK 源码有过研究。
一、HashSet 的本质 🔴
1.1 源码结构
1.2 为什么 value 是固定对象
二、HashSet vs HashMap 对比 🔴
三、LinkedHashSet 🟡
四、生产选型 🟡
五、追问升级
面试官:"HashSet 的 contains 操作时间复杂度是多少?"