摘要: 概述 相较于 ArrayList,LinkedList 在平时使用少一些。 LinkedList 内部是一个双向链表,并且实现了 List 接口和 Deque 接口,因此它也具有 List 的操作以及双端队列和栈的性质。双向链表的结构如下: 前文分析了 Queue 和 Deque 接口,正是因为 L 阅读全文
posted @ 2019-06-29 10:06 WriteOnRead 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 概述 Queue 和 Deque 都是接口。其中 Queue 接口定义的是一个队列,它包含队列的基本操作:入队(enqueue)和出队(dequeue)。 Deque 接口继承自 Queue 接口,表示双端队列(Double-ended queue),同时具备「队列」和「栈」的性质。二者的继承关系如 阅读全文
posted @ 2019-06-29 01:14 WriteOnRead 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 概述 上文「JDK源码分析-ArrayList」主要分析了 ArrayList 的实现原理。本文分析 List 接口的另一个实现类:Vector。 Vector 的内部实现与 ArrayList 类似,也可以理解为一个「可变数组」。其继承结构如下(省略部分接口): PS: 由于 Vector 目前使 阅读全文
posted @ 2019-06-29 01:06 WriteOnRead 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 概述 ArrayList 是 List 接口的一个实现类,也是 Java 中最常用的容器实现类之一,可以把它理解为「可变数组」。 我们知道,Java 中的数组初始化时需要指定长度,而且指定后不能改变。ArrayList 内部也是一个数组,它对数组的功能做了增强:主要是在容器内元素增加时可以动态扩容, 阅读全文
posted @ 2019-06-29 00:54 WriteOnRead 阅读(150) 评论(0) 推荐(0) 编辑
摘要: List 是最常用的容器之一。之前提到过,分析源码时,优先分析接口的源码,因此这里先从 List 接口分析。List 方法列表如下: 由于上文「JDK源码分析-Collection」已对 Collection 接口的方法进行了简要分析,而 List 接口继承自 Collection,因此这里只分析一 阅读全文
posted @ 2019-06-29 00:45 WriteOnRead 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Java 集合框架(Java Collections Framework, JCF)包含很多平时开发中的常用类,例如 List、Set、ArrayList、HashMap、HashSet 等,因此打算先从这里下手。 而 Collection 接口又是集合层次中的根接口,最常用的 List 和 Set 阅读全文
posted @ 2019-06-29 00:38 WriteOnRead 阅读(163) 评论(0) 推荐(0) 编辑