双向链表
每一个节点除了自己本身的数据之外,还分别有两个指针,一个用来指向它的后继节点,一个用来指向它的前驱。
Java中的LinkedList底层采用的就是双向链表
循环链表(单链、双链都适用)
总结
Java中的线性表:
- Vector (线程安全)
- ArrayList(线程不安全,但效率更高)
- LinkedList(双向链表)
相同点:
都是顺序表,底层都是长度可以动态增长的数组
理解LinkedList源码及其内存变化原理
LinkedList底层是双向循环链表
由3部分组成:
- 指向前一个节点
- 存储数据
- 指向后一个节点