Java集合
文章平均质量分 67
周小闯
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
让面试官眼前一亮的回答:Hash冲突解决方案一览
拉链法适用于数据量大且动态变化的情况删除操作简单,但需要额外的指针存储空间开放定址法(包括线性探查、二次探查和双重散列)所有元素存放在同一数组中,查找和遍历时具有较好的缓存局部性容易出现聚集问题,并且删除操作通常需要使用“懒删除”标记来处理选择哪种方法取决于具体应用场景、数据规模和性能要求。对于需要频繁插入和删除且数据规模不确定的情况,拉链法往往更合适;而对于要求内存连续、缓存友好以及查找速度要求较高的情况,开放定址法可能更优。希望这个详细的解释和数据例子能帮助你全面理解哈希冲突的解决方法!原创 2025-02-16 23:29:42 · 2298 阅读 · 0 评论 -
史上最全面的HashMap详解,HashMap实现原理与基础知识点介绍
在之前,HashMap底层数据结构采用的是数组+链表的形式当向HashMap中添加数据时,会采用哈希算法,将元素的key映射到底层数组对应的位置,我们称之为众所周知,,所以当不同的key映射到数组上的同一个槽位时,它们就会以链表的形式存储到同一个槽位上由于链表的查询速度时,所以冲突很严重,当一个索引上的链表非常长时,查询效率就会很低。原创 2025-02-14 23:15:21 · 760 阅读 · 0 评论 -
比较ArrayList与LinkedList
ArrayList基于**动态数组**LinkedList基于**双向链表**原创 2025-02-12 17:55:52 · 603 阅读 · 0 评论 -
ArrayList的扩容机制
ArrayList基于动态数组,当数组达到容量上限的时候,就会采取一定的方式实现动态扩容,扩大到原来的1.5倍。原创 2025-02-12 17:27:08 · 263 阅读 · 0 评论
分享