🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## hash表 经典hash表特点: * 基于数组加链表方式存储组织数据 * 当数据到达一定量时,对数组做动态扩容 ![](https://img.kancloud.cn/91/99/9199da2770ae30b011171e4879b21da1_1630x1318.png) ## Java实现hash表 1. 实现迭代器,才能使用增强for循环。 2. 在加入值和删除值之后调用resize做容量控制。 3. hash函数使用jdk8里的hashmap的hash函数,保持一致。 4. 加入缩容机制,当大小急剧减小后避免空间浪费。缩容临界值:当大小小于容量负载的一半时,且缩容后容量不小于默认容量。 5. 在加入值时才做内存申请。 6. set的实现只需要保存Value,且保存数据唯一。 ## 实现 * [Java之HashMap的实现](Java%E4%B9%8BHashMap%E7%9A%84%E5%AE%9E%E7%8E%B0.md) * [Java之HashSet的实现](Java%E4%B9%8BHashSet%E7%9A%84%E5%AE%9E%E7%8E%B0.md)