
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 · 507 阅读 · 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.youkuaiyun.com/A980719/article/details/12原创 2021-09-23 18:14:36 · 1234 阅读 · 2 评论 -
TreeMap的基本用法和比较器
1. TreeMap概述TreeMap存储K-V键值对,通过红黑树(R-B tree)实现;TreeMap因为是通过红黑树实现,红黑树结构天然支持排序,默认情况下通过Key值的自然顺序进行排序;如果对红黑树不是太了解话可以看看这个博客https://blog.youkuaiyun.com/A980719/article/details/1202648122.TreeMap具有如下特点:不允许出现重复的key(不会报错会覆盖);可以插入null值 (但key不能为null 可以为空字符串) ;原创 2021-09-18 17:04:55 · 1855 阅读 · 0 评论 -
红黑树Java实现
1 概念红黑树是一种自平衡的二叉查找树,除了满足二叉查找树的性质外,还需要满足如下五个条件:1. 节点是红色或黑色2. 根节点为黑色3. 所有叶子节点都是黑色4. 每个红色节点都必须有两个黑色的子节点5. 从任一节点到叶子节点的所有路径都包含相同数目的黑色节点2操作红黑树的维护操作操作有三个,分别是变色、左旋和右旋,红黑树的插入、删除 有时会破坏树的结构 需要用这三个基本操作维护树的结构2.1 变色变色操作比较简单,不改变该节点的值以及该节点在红黑树中的位置,仅改变该节点的颜色,红黑原创 2021-09-13 12:31:40 · 1219 阅读 · 0 评论