开发者学堂课程【 Java 高级编程:LinkedList 子类】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/404
LinkedList 子类
在 List 接口里面还有另外-一个比较常用的子类: LinkedList, 这个类通过名称就已经可以发现其特点了:基于链表的实现,那么首先观察一下 LinkedList 子类的定义
public class I inkedList E>.
extends AbstractSequentialList E>.
implements I ist E>, Deque <E>, Cloneable, Serializable.
LinkedList 子类的继承关系如下:
范例:使用 LinkedIist 实现集合操作。
如果说现在只是观察程序的功能你会发现和 ArrayList 使用是完全一样的,但是其内部的实现机制是完全不同的,LinkedL ist 构造方法里而并没有提供有像 ArrayL ist 那样的初始化大小的方法,而只是提供有无参构造处理: “public LinkedList()”, 随后观察 add 方法的具体实现
通过系列的分析之后就可以发现, LinkedList 封装的就是一个链表实现。
面试题:清向 Array ist 与 LinkedList 有什幺区別? .
ArrayList 是数组实现的集合操作,而 LinkedList 是延表突现的集合操作: .
在使用 List 集合中的 get()方法根据索引获取数据时,ArrayList 的时间复杂度“O(l)”、而 Link 的时间长度为O(n)(n为集合的长度)
ArrayI ist 在使用的时候默认的初始化对象数组的大小长.应 10 ,数组的大小长度为 10, 如果空间不足则会采用2倍的形式进行容量的扩充,如果保存大数据量的时候有可能会造成垃圾的产生以及性能的下降,但是这个时候可以使用 LinkedList 子类保存。
</div>