LinkedList是一个以双向链表实现的List,它除了作为List使用,还可以作为队列或者堆栈使用。 Link...[作者空间]
引言 将任意长度的二进制字符串映射为定长二进制字符串的映射规则我们称为散列(hash)算法,又叫哈希(has...[作者空间]
引言 基于Java集合框架图,本文针对List集合的主要实现类 ArrayList和LinkedList从...[作者空间]
引言 链表是一种线性表结构,其特点是非顺序存储,可充分利用碎片化的空闲内存。链表中的元素称为结点,结点通过...[作者空间]
完整代码:代码 前言 这篇文章主要分析HashMap1.8中是如何遍历元素的,先会介绍普通遍历Iterator然后...[作者空间]
代码链接: 整体代码 红黑树的定义 Note:如果一个节点没有字节点或是父节点,则该节点相应指针属性为nil 1....[作者空间]
完整代码:代码 前言 在写这篇文章之前,我针对红黑树参考算法导论写了一篇文章图解红黑树-算法导论-java实现基于...[作者空间]
完整代码:代码 前言 有了上一篇的基础HashMap1.8 源码解析(1)--插入元素 ,相信这一篇会很简单 删除...[作者空间]
所有代码:https://github.com/nicktming/code/tree/dev/java/coll...[作者空间]
Iterable是迭代器的意思,作用是为集合类提供for-each循环的支持。由于使用for循环需要通过位置获取元...[作者空间]
红黑树和AVL树的思想是类似的,都是在插入过程中对二叉排序树进行调整,从而提升性能,它的增删改查均可以在O(lg ...[作者空间]
二叉排序树很好的平衡了插入与查找的效率,但不平衡的二叉排序树效率大打折扣。今天介绍的AVL树就是一种解决此问题的方...[作者空间]
解决查询速度慢的方案除了哈希表外,还可以使用二叉排序树。我们知道,查询慢主要是因为不知道元素的位置,使用hash函...[作者空间]
数组和链表都是用来解决一对一问题的,而一对多问题则需要树来解决。这里,我们重点关注二叉排序树,所以只会介绍一些必需...[作者空间]
LinkedHashMap是HashMap的子类,所以也具备HashMap的诸多特性。不同的是,LinkedHas...[作者空间]
TreeMap是红黑树的java实现,对红黑树不太了解的可以查阅这篇文章Java集合源码分析之基础(六):红黑树(...[作者空间]
SortedMap提供了获取最大值与最小值的方法,但对于一个已经排序的数据集,除了最大值与最小值之外,我们可以对任...[作者空间]
由于乱序的数据对查找不利,例如无法使用二分法等降低算法的时间复杂度,如果数据在插入时就排好顺序,查找的性能就会提升...[作者空间]
HashMap可能是我们使用最多的键值对型的集合类了,它的底层基于哈希表,采用数组存储数据,使用链表来解决哈希碰撞...[作者空间]
这篇文章是本系列的完结了,也会是读起来最轻松的文章了。因为这里只有一个概念,那就是Set是什么,其余的则是一些感触...[作者空间]