日常开发中,保存一组数据使用的最多的是List,List子类用的最多的是 ArrayList, 其次就是 LinkedList 。
我们知道 ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。
而LinkedList 是以链表实现的,插入、删除时只需要改变前后两个节点指针指向即可,所以插入、删除效率比较快,查询慢。

ListedList底层是双链表结构,他还添加了作用栈、队列或双端队列的方法。
0----------0------------0----------------0--------------0
这种双链表的结构,在增加、删除的时候速度比ArrayList,但是查询遍历导致慢。

分配内存空间不是必须是连续的;
插入、删除操作很快,只要修改前后指针就OK了,时间复杂度为O(1);
访问比较慢,必须得从第一个元素开始遍历,时间复杂度为O(n)