集合类
文章平均质量分 65
学之以恒_大道至简
专注后端技术
展开
-
JDK1.8中ArrayList的实现原理及源码分析
一、概述 ArrayList是Java开发中使用比较频繁的一个类,通过对源码的解读,可以了解ArrayList的内部结构以及实现方法,清楚它的优缺点,以便我们在编程时灵活运用。 二、源码分析 2.1 类结构 JDK1.8源码中的ArrayList类结构定义如下: public class ArrayList<E> extends Abstract...原创 2018-07-25 17:47:15 · 1610 阅读 · 0 评论 -
图解单向链表、双向链表
背景: 之前对单向链表、双向链表之间的结构一直理解的有些混乱,然后就各种百度、google查资料,最后在知乎里看到一篇专栏,一看里面的图就明白是咋回事了。 ...原创 2018-07-26 12:26:38 · 3842 阅读 · 1 评论 -
JDK1.8中LinkedList的实现原理及源码分析
一、概述 LinkedList底层是基于双向链表(双向链表的特点,可以看下我的另外一篇博文:https://blog.csdn.net/cb_lcl/article/details/81217972),链表在内存中不是连续的,而是通过引用来关联所有的元素,所以链表的优点在于添加和删除元素比较快,因为只是移动指针,并且不需要判断是否需要扩容,缺点是查询和遍历效率比较低。 二...原创 2018-07-26 17:49:16 · 1162 阅读 · 0 评论 -
JDK1.8中HashMap的实现原理及源码分析
一、概要 在JDK1.8之前,HashMap采用桶+链表实现,本质就是采用数组+单向链表组合型的数据结构。它之所以有相当快的查询速度主要是因为它是通过计算散列码来决定存储的位置。HashMap通过key的hashCode来计算hash值,不同的hash值就存在数组中不同的位置,当多个元素的hash值相同时(所谓hash冲突),就采用链表将它们串联起来(链表解决冲突),放...原创 2018-07-31 12:07:49 · 795 阅读 · 0 评论