![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java集合容器源码解析
tangyuan_sibal
每一份努力都值得期许
展开
-
LinkedHashMap源码解析
1、LinkedHashMap类的说明1.1 解释说明/** * 哈希表和链表实现了Map接口,具有可预测的迭代顺序(也就是说LinkedHashMap是有序的) * 这个工具不同于HashMap因为它在entry节点上多维护了一组双向链表,用来保证entry * 插入有序。(我们知道在HashMap中每一个桶中的节点用一个单链表或者红黑树维护) * 这个双向链表保证了entry的迭代...原创 2019-05-02 13:48:19 · 209 阅读 · 0 评论 -
ArrayList源码解析
文章目录1、ArrayList类的说明1.1 解释说明1.2 数据结构2、方法字段3、主要方法4、总结1、ArrayList类的说明本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的...原创 2019-05-02 17:03:14 · 382 阅读 · 0 评论 -
LinkedList源码解析
文章目录1、LinkedList类的说明1.1 解释说明1.2 数据结构2、方法字段3、关键方法栈和队列的操作4、总结1、LinkedList类的说明在上篇我们分析了ArrayList的底层实现,知道了ArrayList底层是基于数组实现的,因此具有查找修改快而插入删除慢的特点。本篇介绍的LinkedList是List接口的另一种实现,它的底层是基于双向链表实现的,因此它具有插入删除快而查找修...原创 2019-05-03 17:15:22 · 2261 阅读 · 0 评论 -
JAVA集合容器源码解析
集合容器是我们使用的最多的一个容器,像ArrayList,LinkList,HashMap等等,这个系列的文章主要从源码来解析比较常用的集合,一方面练习自己阅读源码的能力,另一方面加强对集合容器的理解。集合容器的关系有如下这张图当然我不会全部去看,会自己挑几个重点的看。另外,我觉得看源码要有目的性,你要怎么看,需要看哪些。对于我自己,我主要从以下方面来看源码:1、类的说明2、字段3、主...原创 2019-04-29 11:27:58 · 386 阅读 · 0 评论 -
HashMap源码解析
1、hashMap类的说明1.1 解释说明/** * Hash table是基于Map接口的工具. 这个工具提供了所有的可选的map操作,和允许 * key和value为空。HashMap有点类似于Hashtable.除了hashMap不是线程安全的和允许 * 空值。HashMap不能保证元素的有序性。特别是它不能随着时间的进行保证有序。 * * * Hash在get()和p...原创 2019-04-29 11:32:16 · 696 阅读 · 0 评论 -
TreeMap源码解析
1、TreeMap类的说明TreeMap是一种底层采用红黑树结构的哈希存储,数据内部保持有序,这个类继承了abstractMap和实现了NavigableMap。而NavigableMap又是拓展了SortedMap,具有了针对给定搜索目标返回最接近匹配项的导航方法,方法 lowerEntry、floorEntry、ceilingEntry 和 higherEntry 分别返回与小于、小于等于、...原创 2019-05-07 20:30:36 · 381 阅读 · 0 评论