Java数据结构篇
文章平均质量分 88
半桶水的码农
这个作者很懒,什么都没留下…
展开
-
红黑树
目录一、二叉查找树二、平衡二叉树三、红黑树1、查询节点2、插入节点3、删除节点四、使用场景整篇文章的思路是这样的,红黑树其实就是一种数据结构,设计它的目的就是为了高效地进行增删改查,所以我们文章的顺序也会按照这个思路来进行。我们先从二叉查找树逐渐引入到红黑树,然后再详细的讲解。你如果看过其他文章想必也一定清楚,红黑树比较麻烦,希望你有点耐心,认真理解每一张图再往下分析。一、二叉查找树在正式开始了解红黑树之前呢,我们先来看一下二叉查找树的概念,从浅入深,希望你不要翻译 2021-04-19 18:33:17 · 93 阅读 · 0 评论 -
ThreadLocal
目录1、set源码2、ThreadLocalMap的底层源码3、map.set的源码4、get源码5、造成的问题6、解决1、set源码 public void set(T value) { Thread t = Thread.currentThread();//获取当前线程 ThreadLocalMap map = getMap(t);//获取ThreadLocalMap 对象 if (map != null)//判断对象是否原创 2021-04-05 17:02:55 · 73 阅读 · 0 评论 -
ConcurrentHashMap
一、jdk1.7的ConcurrentHashMapava 7 版本的 ConcurrentHashMap 是基于分段锁的,就是将内部分成不同的 Segment(段),每个段里面是 HashEntry 数组。来看一下 Segment:staticfinalclassSegment<K,V>extendsReentrantLockimplementsSerializable{transientvolatileHashEntry<K,V...原创 2021-04-05 16:29:44 · 198 阅读 · 0 评论 -
HashMap
一、HashMap定义HashMap实现了Map接口,继承AbstractMap。其中Map接口定义了键映射到值的规则,而AbstractMap类提供 Map 接口的骨干实现,以最大限度地减少实现此接口所需的工作,其实AbstractMap类已经实现了Map。public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {..原创 2021-04-05 14:36:26 · 604 阅读 · 1 评论 -
Collection和Map
一、集合和数组的区别:1、数组是固定长度的;集合可变长度的。2、数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。3、数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。二、集合和Map的继承关系:Java 容器分为 Collection 和 Map 两大类,Collection集合的子接口有Set、List、Queue三种子接口。我们比较常用的是Set、List,注意:Map接口不是collection的子接口。Collectio原创 2021-04-02 23:09:31 · 3380 阅读 · 0 评论