Java集合框架 06.深入理解LinkedList
前置知识点
数据结构
- 链表
Java
- List接口
- Queue接口
- Dequeue接口
正文
ArrayList随机访问效率很高,但插入和删除时需要复制数组,性能较差。所以在插入和删除频繁的场景下,需要使用链表。Java中有现成的双向链表类,java.util.LinkedList。
package java.util;
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
java.util.LinkedList类继承自AbstractSequentialList,实现了List、Deque等接口。
Node节点
LinkedList是双向链表,所以Node节点中需要持有两个引用,指向前继节点的prev属性和指向后继节点的next属性。
private static class Node<E> {
E item;
Node<E> next;
Node<E> prev;
Node(Node<E> prev, E element, Node<E> next) {
this.item = element;
this.next = next;
this.prev = prev;
}
}
//todo 写写方法实现