链表在哪里存储它的数据?它是使用数组还是它是如何工作的?
我知道它适用于节点,但它实际上如何存储节点?
一个Node
链接到(即包含)Node
序列中的下一个。该类LinkedList
实际上只包含Node
列表中的第一个。
A
例如: , B
,的链表C
如下:
LinkedList
包含一个成员变量A
,A
包含一个成员变量B
,B
包含一个成员变量C
。C
包含一个null
成员变量。
A
--> B
--> C
-->null
如果您插入一个新节点,它将变成...
A
--> B
--> C
--> D
-->null
LinkedList 不使用数组来存储数据。它是一个双向链表,它将数据存储在节点中
class Node<E> {
E item;
Node<E> next;
Node<E> prev;
....
LinkedList 包含对象条目,它具有当前对象以及对下一个和前一个对象的引用。然后这些下一个和上一个对象还包含对象条目,它具有当前对象和对下一个和上一个对象的引用等等。最终你有一个相互链接的对象链。
这是 LinkedList 中的内部类条目:
private static class Entry<E> {
E element;
Entry<E> next;
Entry<E> previous;
...
例如元素是当前对象。
我希望我对你有所帮助。