JAVA中LinkedList的底层实现是链表还是队列?

2024年11月28日 12:51
有2个网友回答
网友(1):

是链表实现,通过引用来找到前面或后面的对象,所以相对来说LinkedList插入、删除操作比较快,查找较慢,是双向链表。

网友(2):

LinkedList类(链接列表)
LinkedList实现了List接口,允许null元素。
LinkedList是将每个对象存放在独立的内存空间中,而且,每个空间中还保存有下一个链接的索引(如果是双向链表,那么它还保存了上一个链接的索引。Java是双向链表)

对顺序访问进行了优化,向List中间插入与删除得开销不大,随机访问则相对较慢(因为LinkedList是必须从头开始搜索,可用ArrayList代替)。它具有方法addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeLast(),linkedList也是不同步的。

ArrayList:
要求快速读取,但不经常进行元素的插入删除操作。
LinkedList:
要对列表进行频繁的插入删除操作。