数据结构
文章平均质量分 96
Always_As
IT小白
展开
-
HashMap-JDK1.7&1.8对比
HashMap-JDK1.7&1.8区别在上两篇对HashMap在JDK1.7与1.8原源码进行了分析,了解了HashMap中的实现原理。在阅读源码的时候,看了底层的设计和操作以及思想无不佩服HashMap的作者Doug Lea,JUC也是出自他之手。本片我们来对比HashMap在1.7与1.8的差异性1.JDK1.7 HashMap1.1 数据结构数组+链表,类型都为Entry1.2 扩容1.2.1 扩容条件(size >= threshold) && (nu原创 2021-01-23 19:16:33 · 309 阅读 · 0 评论 -
史上最全HashMap(JDK1.8)详解
HashMap1.8源码解析1.介绍之前写了一篇HashMap 1.7源码解析,本片将对HashMap1.8进行分析。后续再写一篇1.7和1.8中HashMap的区别,之前1.7中出现的一些代码我就不赘述了。HashMap1.8是由:数组(Node)+链表(Node)+红黑树(TreeNode) 组成,而且TreeNode继承与Node ,如下图所示。2.源码解析 一般我们在使用HashMap的时候,最好给一个默认的初始化容量,也就是调的**HashMap(int initialC原创 2021-01-14 17:13:52 · 950 阅读 · 0 评论 -
红黑树增删查详解
1.红黑树增删查相关操作1.介绍 由于AVL树虽然查询快,但是插入删除的时候需要不断的操作来维持自身平衡,导致性能下降。而红黑树(R-B Tree)是黑色平衡的,在操作的时候只需维持黑色平衡即可(当然还有其他的特性)。红黑树是由2-3-4树变换而来,如果需要了解红黑树详细的操作流程,需要对2-3-4树有一定的了解。红黑树在JDK1.8中的HashMap、ConcurrentHashMap、TreeMap等,以及Linux内核.…2.特性1.根节点为黑色。2.所有节点非黑即红。3.红原创 2020-12-16 00:16:13 · 915 阅读 · 0 评论