Java linkedList是否构建在数组上
链表的数据存储在哪里?它是使用数组还是如何工作 我知道它与节点一起工作,但它实际上是如何存储节点的?一个节点链接到,即包含序列中的下一个节点。LinkedList类实际上只包含列表中的第一个节点 例如: A、B、C的链接列表如下: LinkedList包含成员变量a,a包含成员变量B,B包含成员变量C。C包含空成员变量 A->B->C->null 如果插入新节点,它将成为Java linkedList是否构建在数组上,java,list,Java,List,链表的数据存储在哪里?它是使用数组还是如何工作 我知道它与节点一起工作,但它实际上是如何存储节点的?一个节点链接到,即包含序列中的下一个节点。LinkedList类实际上只包含列表中的第一个节点 例如: A、B、C的链接列表如下: LinkedList包含成员变量a,a包含成员变量B,B包含成员变量C。C包含空成员变量 A->B->C->null 如果插入新节点,它将成为 A->B->C->D->nullLinkedList不使用数组存储数据。它是一个双链接列表,它将数据存储在节点中 class
A->B->C->D->nullLinkedList不使用数组存储数据。它是一个双链接列表,它将数据存储在节点中
class Node<E> {
E item;
Node<E> next;
Node<E> prev;
....
LinkedList包含对象条目,该条目包含当前对象以及对下一个和上一个对象的引用。然后,这些next和previois对象还包含对象条目,其中包含当前对象和对next和previois对象的引用,依此类推。 最终,你们会得到一系列相互联系的物体 这是LinkedList中的内部类条目:
private static class Entry<E> {
E element;
Entry<E> next;
Entry<E> previous;
...
其中,例如,元素是当前对象
我希望我能帮助你。你为什么不亲自查看源代码呢?没有数组。对于OpenJDK:它是由节点构建的。在节点类的实例中。为什么不看看资料来源呢?