上一页 1 2 3 4 5 6 ··· 18 下一页
摘要:我们之前在说到 List 集合的时候已经说过 LinkedList 了。但 LinkedList 不仅仅是一个 List 集合实现,其还是一个双向队列实现。 LinkedList 不仅实现了 List 接口,还实现了 Deque 接口。所以这一节我们来聊聊 LinkedList 的双向队列特性。 原 阅读全文
posted @ 2019-08-28 21:12 陈树义 阅读 (61) 评论 (0) 编辑
摘要:从名字我们可以看出,其实一个双向队列实现,而且底层采用数组实现。 从定义可以看出,其实现了 Deque 接口。 原理 为了深入理解 ArrayDeque 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变量 从类成员变量我们就可以知道,其底层确实使用数组存储。 构造方法 Ar 阅读全文
posted @ 2019-08-28 21:12 陈树义 阅读 (56) 评论 (0) 编辑
摘要:PriorityQueue 是一个优先级队列,其底层原理采用二叉堆实现。我们先来看看它的类声明: PriorityQueue 继承了 AbstractQueue 抽象类,具有队列的基本特性。 二叉堆 由于 PriorityQueue 底层采用二叉堆来实现,所以我们有必要先介绍下二叉堆。 二叉堆从结构 阅读全文
posted @ 2019-08-28 21:11 陈树义 阅读 (68) 评论 (0) 编辑
摘要:TreeSet 是 Set 集合的红黑树实现,但其内部并没有具体的逻辑,而是直接使用 TreeMap 对象实现。我们先来看看 TreeSet 的定义。 可以看到 TreeSet 实现了 NavigableSet 接口,而 NavigableSet 接口又继承了 接口。SortedSet 接口又继承了 阅读全文
posted @ 2019-08-28 21:10 陈树义 阅读 (67) 评论 (0) 编辑
摘要:LinkedHashSet 继承了 HashSet,在此基础上维护了元素的插入顺序。 原理 LinkedHashSet 的源码非常简单,只有简单的四4个构造方法。 但我们不是说 HashSet 还维护了元素的插入顺序么?那这部分代码写在哪里呢? 这里我们要注意一个细节,即 LinkedHashSet 阅读全文
posted @ 2019-08-28 21:09 陈树义 阅读 (67) 评论 (0) 编辑
摘要:HashSet 是 Set 集合的哈希实现,其继承了 AbstractSet 抽象类,并实现了 Set 接口。 原理 为了深入理解 HashSet 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变量 从类成员变量我们可以知道,HashSet 内部使用 HashMap 存储, 阅读全文
posted @ 2019-08-28 21:08 陈树义 阅读 (85) 评论 (0) 编辑
摘要:Stack 是先进后出的栈结构,其并不直接实现具体的逻辑,而是通过继承 Vector 类,调用 Vector 类的方法实现。 核心方法 Stack 类代码非常简单,其有 3 个核心方法:push、pop、peek。 push 可以看到 push 方法直接调用 Vector 的 addElement 阅读全文
posted @ 2019-08-26 22:54 陈树义 阅读 (69) 评论 (0) 编辑
摘要:Vector 的底层实现以及结构与 ArrayList 完全相同,只是在某一些细节上会有所不同。这些细节主要有: 线程安全 扩容大小 线程安全 我们知道 ArrayList 是线程不安全的,只能在单线程环境下使用。而 Vector 则是线程安全的,那么其实怎么实现的呢? 其实 Vector 的实现很 阅读全文
posted @ 2019-08-26 22:53 陈树义 阅读 (97) 评论 (0) 编辑
摘要:LinkedList 是链表的经典实现,其底层采用链表节点的方式实现。 从类继承结构图可以看到,LinkedList 不仅实现了 List 接口,还实现了 Deque 双向队列接口。 原理 为了深入理解 LinkedList 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变 阅读全文
posted @ 2019-08-26 22:53 陈树义 阅读 (82) 评论 (0) 编辑
摘要:ArrayList 是 List 集合的列表经典实现,其底层采用定长数组实现,可以根据集合大小进行自动扩容。 原理 为了深入理解 ArrayList 的原理,我们将从类成员变量、构造方法、核心方法两个方面逐一介绍。 类成员变量 构造方法 ArrayList 一共有 3 个构造方法: 从第一个构造方法 阅读全文
posted @ 2019-08-26 08:52 陈树义 阅读 (329) 评论 (0) 编辑
上一页 1 2 3 4 5 6 ··· 18 下一页