1.数据结构
1.0 类图
从类图可以发现LinkedList有多种角色,既是List线性顺序表,也是Queue队列,此外还可以当作栈使用。
继承自List、Queue |
|
字段有first、last指针 |
|
双向节点,prev和next指针 |
1.1 链表
first字段则是链表的head,last则是tail尾节点
方法 | 图解 |
初始化 | |
indexOf(76) 顺序查找 |
|
|
1.2 栈
栈顶是first(head),栈底是last(tail)链尾。
push(5) pop()
1.3 双端队列
方法 | 图解 | |
初始化 | ||
peek() |
获取队首,返回23 |
|
offer(57) 入队enqueue |
入队,插入队尾 | |
poll() dequeue出队 |
出队,删除队首 |
1.4 双向链表
方法 | 图解 |
初始化 | |
addFirst(85) offerFirst |
|
addLast(80) offerLast |
|
removeFirst() | |
removeLast() |
2.方法总结
方法 | 作用 |
add(E e) |
添加到尾巴 |
addFirst(E e) |
在链表头插入指定元素 |
push(E e) |
往链表头部添加 |
pop() |
删除头节点 |
offer(E e) | add(e) 添加到尾巴 |
peek() |
返回头元素 |
poll() |
返回头节点元素,并删除头节点 |