![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
盛难晨
长路漫漫,bug作伴
展开
-
Hashmap源码分析(jdk1.8)
1.初始化构造函数 HashMap<Integer,String> hashMap = new HashMap<>(); HashMap<Integer,String> hashMap = new HashMap<>(10); 构造函数: //将负载因子设为0.75,然后初始化默认最大容量是16,负载因子是0.75, //故默认容量是12,然后超过...原创 2020-04-22 20:15:10 · 159 阅读 · 0 评论 -
Hashmap存储数据过程分析(jdk1.8不涉及源码)
1.所用到的数据结构 jdk1.8开始hashmap所使用的是数组+链表+红黑树组成,在jdk1.7的时候还没有用到红黑树。 2.扩容 首先初始化一个hashmap这时候就会对数组进行扩容,默认容量为16。 3.计算出索引值 如果数组为空及table【索引值为空】则直接插入,如果不为空,接下来用equals判断key是否相等。 如果相等则覆盖掉原来的值,如果不相等则判断是不是树节点,如果是树节点...原创 2020-04-21 12:44:41 · 364 阅读 · 0 评论 -
红黑树大致原理讲解(不涉及源码分析)
1.什么是红黑树 R-B Tree,全称是 Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。 2.红黑树的特性 (1)每个节点或者是黑色,或者是红色。 (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!] (4)如果一个节...原创 2020-04-20 13:50:13 · 180 阅读 · 0 评论