3. LinkedList - 图1
参考链接:https://blog.csdn.net/jianyuerensheng/article/details/51204598

image.png
3. LinkedList - 图3

image.png

一、数据结构

LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也是由于其为基于链表的,所以随机访问的效率要比 ArrayList 差。
  1. LinkedList不同于前面两种List,它不是基于数组的,所以不受数组性能的限制。
  2. 它每一个节点(Node)都包含两方面的内容:
  3. 1.节点本身的数据(data);
  4. 2.下一个节点的信息(nextNode)。
  5. 所以当对LinkedList做添加,删除动作的时候就不用像基于数组的ArrayList一样,必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了,这是LinkedList的优势。

3. LinkedList - 图5
3. LinkedList - 图6
3. LinkedList - 图7
image.png