随笔分类 - 集合
主要讲述java中的集合相关概念,并分析一些关键源码
摘要:通过上篇文章,大家已经能够清楚的了解到treeMap插入结点的过程,那么本篇文章就来分析下TreeMap删除一个结点时,内部数据结构发生了怎样的变化。 TreeMap删除某个结点的源码分析 1 /** 2 * 删除节点,并平衡红黑树的操作 3 * 4 * @Param Entry<K,V> p 要删
阅读全文
摘要:通过上篇文章,大家已经能够理解红黑树的基础数据结构,那么这篇文章就来分析下,在红黑树中插入一个结点后,内部数据结构发生了哪些变化。 TreeMap插入某个结点的源码分析 1 /** 2 * 插入节点,并平衡红黑树的操作 3 * 如果原先map中已经有该key对应的键值对,则替换原先该key对应的va
阅读全文
摘要:因为TreeMap的相关知识较多,故TreeMap的分析将会分成三篇文章来写,望大家谅解。 本篇文章先给大家介绍一下红黑树基本概念,并分析一下在红黑树中查找某个结点的相关源码实现。 TreeMap是啥 从TreeMap的类名上就能知道它的底层存储结构其实是红黑树。首先简单介绍一下红黑树的相关知识,以
阅读全文
摘要:LinkedHashMap分析 这篇文章会分析一下 LinkedHashMap。 LinkedHashMap是啥 首先我们看一下这个类的定义: 可以看到LinkedHashMap同样实现了Map接口,但它同时还继承了HashMap,所以天然就有HashMap自身的特性。 从名字上看 LinkedHa
阅读全文
摘要:HashMap分析 这篇文章,分析一下面试中经常会被问到的数据结构——HashMap。 HashMap是啥 大家都知道HashMap是基于key-value机制存储数据的,那么是否有思考过底层是怎样的数据结构从而可以支持这种存储机制呢? 上图,以便看清楚HashMap的数据结构: 我们把这张图分成两
阅读全文
摘要:上一篇文章已经对ArrayList进行了分析,那么这篇文章就来讲讲经常和它进行对比的LinkedList吧。 LinkedList是啥 LinkedList本质上是一个双向的链表,首先在这里解释下链表的组成结构。 一个链表是由许多的节点(Node)所组成的,而每个节点内部其实由三部分组成: 1.指向
阅读全文
摘要:写在前面的话 从这篇文章开始,将会陆续为大家介绍java基础中集合部分的相关知识,希望通过和大家一起回顾这部分内容后,在实际的工作中根据不同业务场景能够更灵活、更有效率的选择合适的集合存放数据。那么首先,让我们从ArrayList开始。 ArrayList是啥 ArrayList 它本质上其实是一个
阅读全文

浙公网安备 33010602011771号