LinedList类实现了List接口,他提供了(双向的)链表数据结构

在该链表中的每一个元素除了存储本身的内容之外还存储指向前一个元素的指针和指向后一个元素的指针,下图展示了一个包含三个元素的双向链表,每个链表都有一个头部,头部指向第一个元素,尾部元素也指向头部

双向链表的特点是,查询效率比较低,因为查询一个元素需要从头部开始查询,挨个遍历每一个元素直到找到所需元素,插入,删除效率高比如我们删除掉一个元素直接把他前一个元素的指针指向它后一个元素就可以了

ArrayList:底层是数组,---查询快,增删慢(一般使用的较多的还是ArrayList)
LinedList:底层是双向链表 ---查询慢,增删快