包含内容1.类继承结构 2.属性字段 3.构造方法 4.常用函数
LinkedList 继承结构如下:
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable
对应类图:
和ArrayList 相比 多了 队列 Queue 的接口 和 AbstractSequentialList 抽象类 部分
Queue 是first-in-first-out结构,从队尾插入元素,从队头获取元素
有6个方法 ,分成3组,插入,删除,获取
add 和 offer
成功添加返回true,容量限制或类型不匹配或为空等将抛异常
成功返回,true 失败返回 false ,如果队列有容量限制插入元素失败会抛出异常例如LinkedList
remove 和 poll
相同点:删除队头元素,并且返回这个元素 不同点:若队列为空,remove 抛出异常,poll 则返回null
element 和peek
相同点:返回队头元素 但是不删除 不同点:若队列为空,element 抛出异常,peek 则返回null
Deque 是双端队列,在两端都支持插入,删除和获取操作,每种操作都有两种形式,一种是操作失败,抛出异常,另一种是操作失败,返回特殊值(false 或 null)
Deque 可以当做先进新出的Queue 使用,也可以当做后进先出的Stack 使用
当做队列用
当做栈用
部分方法
AbstractSequentialList 抽象顺序List提供了通过迭代器来add,get,set,remove 元素的方法
LinkedList 属性
size ,头结点,尾节点
构造方法,1.无参构造方法 2.传入集合数据的构造方法
关键函数
在头部和尾部插入元素
删除头节点,删除尾节点,删除非头尾的非空节点