Java集合之LinkedList
一、简介
LinkedList从名字就可以看出是用链表为数据结构实现的List,内部使用了一个双向链表,首先看一下LinkedList的Filed:
transient int size = 0; //List的长度
transient Node<E> first; //指向头节点的指针
transient Node<E> last; //指向尾节点的指针在LinkedList内部定义了链表节点的数据结构,很标准的双向链表数据结构,包含一个数据项,一个前驱节点,一个后驱节点。
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;
}
}二、初始化
初始化很简单,啥也没做:
三、增加
因为是双向链表,所以可以头部和尾部都可以增加节点。
3.1 尾部增加add(E e)
3.2 头部增加addFirst(E e)
四、删除
删除分为删除头节点,删除尾结点和删除中间节点,实现类似,这里只说一下删除中间节点。、
五、查找
六、修改
七、总结
因为使用了链表,增加和删除比ArrayList快,查找和修改比ArrayList慢。
Last updated
Was this helpful?