LinkedList
LinkedList 双向链表
线程不安全
实现Dueue接口,提供了更多方法 offer() peek() poll()等
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
使用Node节点存储链表信息
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;
}
}
链表的头指针、尾指针
final Node<E> next = x.next;
final Node<E> prev = x.prev;
区别(链表和数组的区别):LinkedList基于双向链表实现,ArrayList基于动态数组实现。
数组:支持随机访问(get、set强);插入删除操作代价高,需要移动元素