HashMap数据结构理解(位桶 + 链表+红黑色)
1.HashMap jdk 1.8有哪些变化:在jdk1.6,jdk1.7 中HashMap 采用 位桶+链表 方式jdk1.8 中采用位桶 + 链表 + 红黑树 方式(当链表大于8的时候转换为红黑树)优势:查询性能得都很大提升。2.什么是红黑树,优势劣势:红黑树是平衡二叉树的一种算法提现(AVL、Treap…),它有很多限制组成,其中包括(1).每隔节点不是红色就是黑色。(2)....
1.HashMap jdk 1.8有哪些变化:
在jdk1.6,jdk1.7 中HashMap 采用 位桶+链表 方式jdk1.8 中采用 位桶 + 链表 + 红黑树 方式(当链表大于8的时候转换为红黑树)优势:查询性能得都很大提升。
2.什么是红黑树,优势劣势:
红黑树是平衡二叉树的一种算法提现(AVL、Treap…),它有很多限制组成,其中包括
(1).每隔节点不是红色就是黑色。
(2).跟节点永远是黑色。
(3).所有叶子节点都是黑色。
(4).每个叶子不会有两个连续的节点。
(5).从任一节点到其子树中每个叶子节点的路径都包含相同数量的黑色节点。中和来说 红黑树中最长路径就是一条红黑交替的路径。(可以多维度去理解它在内存中的位置区间)
优劣势:优点,由于限制所以红黑树的深度不像二叉树那么深,只要保持平衡,它的检索性能比较高。
缺点,红黑树在进行插入或删除操作的时候由于需要维护红黑树的特点,所以需要提供树结构维护。
3. HashMap描述
(1). Hash索引的计算,根据HashMap 长度计算与计算出的hashCode值做位于运算决定索引/位置(结论:长度取2次方是减少冲突的最好方式)
(2). Hash冲突 hashMap使用链表发解决冲突,当发生冲突的时候将key/vlaue放在该位置的链表末端。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)