本文的分析基于Java 1.8源码。
上篇分析了ArrayList的源码,点击这里:ArrayList源码解析
这篇将从构造方法、增删改查、遍历角度分析LinkedList源码。
LinkedList是基于链表实现的List。老规矩,先看看类图
同ArrayList,LinkedList也是继承自AbstractList类,是Collection的子类之一,同时实现了Serializable、Cloneable接口,这就意味着:它支持序列化,能被克隆。与ArrayList不同的是,它并没有实现RandomAccess接口,也就是它不能通过下标随机访问。
与ArrayList最大的区别是,LinkedList实现了Deque接口。因此LinkedList不仅有List的特性,也有Queue的特性。