LinkedList源码分析
LinkedList 双向链表特征
增删快 增删快是每一个元素通过引用链接,添加元素或者删除元素,重新组建链接引用即可,效率较高,不存在移动和扩容的问题
查询慢 双向链表结构存储数据非连续空间,需要在节点Node跳转完成数据查询过程,效率较低。
LinkedList数据存储非连续空间
LinkedList常用方法
addFirst(E e);
添加元素到链表头
addLast(E e);
添加元素到链表尾 ==> add(E e);
E removeFisrt();
删除链表头元素,返回值是被删除元素
E removeLast();
删除链表尾元素,返回值是被删除元素
E getFirst();
获取链表头元素
E getLast();
获取链表尾元素
队列:
先进先出
addLast(E e);
E getFirst();
E removeFirst();
堆栈:
先进后出
addFirst(E e);
E getFirst();
E removeFirst();
LinkedList源码分析
LinkedList 双向链表特征
增删快 增删快是每一个元素通过引用链接,添加元素或者删除元素,重新组建链接引用即可,效率较高,不存在移动和扩容的问题
查询慢 双向链表结构存储数据非连续空间,需要在节点Node跳转完成数据查询过程,效率较低。
LinkedList数据存储非连续空间
LinkedList常用方法
addFirst(E e);
添加元素到链表头
addLast(E e);
添加元素到链表尾 ==> add(E e);
E removeFisrt();
删除链表头元素,返回值是被删除元素
E removeLast();
删除链表尾元素,返回值是被删除元素
E getFirst();
获取链表头元素
E getLast();
获取链表尾元素
队列:
先进先出
addLast(E e);
E getFirst();
E removeFirst();
堆栈:
先进后出
addFirst(E e);
E getFirst();
E removeFirst();