![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java集合类和用到的算法
文章平均质量分 83
一叶一菩提魁
这个作者很懒,什么都没留下…
展开
-
idea Java 集合类的debug方法
前言: 今天和一个兄弟讨论关于HashMap初始长度大小的事下面是对话内容 他 问:初始化hashmap是,构造函数内默认的hashmap空间是多大(jdk8) 我 答:16 链表的默认长度 他 :不是 是 0 第一次put才会变成16 我:它是插入的时候才创建的 但是第一次创建的长度是16(不赋值的情况下) 他问:new hashmap(100000) 构造后还是100000吗 我答:不是 是大于100000的一个2^N(131072) 他说:不是 那如果是8的话是多少 我答:16 他说:不是无论是几原创 2021-09-28 15:01:05 · 449 阅读 · 2 评论 -
关于jdk1.8中ConcurrentHashMap
1.前言 Java JDK升级到1.8后有些集合类的实现有了变化, 其中ConcurrentHashMap就有进行结构上的大调整。 jdk1.6、1.7实现的我不会想了解去百度吧 2. 重要概念 想要了解ConcurrentHashMap 你至少要对HashMap有一定的了解吧? HashMap(1.8)和ConcurrentHashMap(1.8) 底层都是hash表+链表+红黑树 如果对红黑树不了解的可以查看https://blog.csdn.net/A980719/article/details/12原创 2021-09-23 18:14:36 · 1086 阅读 · 2 评论 -
TreeMap的基本用法和比较器
1. TreeMap概述 TreeMap存储K-V键值对,通过红黑树(R-B tree)实现; TreeMap因为是通过红黑树实现,红黑树结构天然支持排序,默认情况下通过Key值的自然顺序进行排序; 如果对红黑树不是太了解话可以看看这个博客 https://blog.csdn.net/A980719/article/details/120264812 2.TreeMap具有如下特点: 不允许出现重复的key(不会报错会覆盖); 可以插入null值 (但key不能为null 可以为空字符串) ;原创 2021-09-18 17:04:55 · 1775 阅读 · 0 评论 -
红黑树Java实现
1 概念 红黑树是一种自平衡的二叉查找树,除了满足二叉查找树的性质外,还需要满足如下五个条件: 1. 节点是红色或黑色 2. 根节点为黑色 3. 所有叶子节点都是黑色 4. 每个红色节点都必须有两个黑色的子节点 5. 从任一节点到叶子节点的所有路径都包含相同数目的黑色节点 2操作 红黑树的维护操作操作有三个,分别是变色、左旋和右旋, 红黑树的插入、删除 有时会破坏树的结构 需要用这三个基本操作维护树的结构 2.1 变色 变色操作比较简单,不改变该节点的值以及该节点在红黑树中的位置,仅改变该节点的颜色,红黑原创 2021-09-13 12:31:40 · 1158 阅读 · 0 评论