07 2019 档案
摘要:概述 HashMap 是 Java 开发中最常用的容器类之一,也是面试的常客。它其实就是前文「数据结构与算法笔记(二)」中「散列表」的实现,处理散列冲突用的是“链表法”,并且在 JDK 1.8 做了优化,当链表长度达到一定数量时会把链表转为红黑树。 因此,JDK 1.8 中的 HashMap 实现可
阅读全文
摘要:前文「JDK源码分析-TreeMap(1)」分析了 TreeMap 的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。 插入操作 该操作其实就是红黑树的插入节点操作。前面分析过,红黑树是一种平衡二叉树,新增节点后可能导致其失去平衡,因此需要对其进行
阅读全文
摘要:概述 前面数据结构与算法笔记对红黑树进行了分析,而 TreeMap 内部就是基于红黑树实现的。示意图: 它的查找、插入、删除操作的时间复杂度均为 O(logn)。 TreeMap 类的继承结构如下: 类签名: TreeMap 实现了 Map 接口,其内部数据格式是“键-值对”的形式(Entry),排
阅读全文
摘要:Map 接口 Map 是一个接口,它表示一种“键-值(key-value)”映射的对象(Entry),其中键是不重复的(值可以重复),且最多映射到一个值(可以理解为“映射”或者“字典”)。 Map 常用的实现类有 HashMap、TreeMap、ConcurrentHashMap、LinkedHas
阅读全文
浙公网安备 33010602011771号