What does node class do in LinkedList class
我试图了解Java如何创建节点,即创建链表。因此,我检查了LinkedList.java文件,并在链表类中看到了一个内部节点类,所以这个内部节点类负责实际创建节点?
当我们使用此类时,还会说创建的对象是用于LinkedList类还是用于节点类?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable { private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next = next; this.prev = prev; } } |
P.S这不是重复的,我试图了解在内置LinkedList类(一个双链表)中节点类在做什么,在另一个问题中,他们正在创建一个新的单链表
内部
因此
这种实现主要是由于
基本上使用内部类(此处为Node类),尤其是当该类除了在另一个单个类内部使用之外没有其他用途时。
例如,在此实现中,节点被声明为内部类,因为该节点只能存在于链表中。如果没有链表,则单个节点将无效。
并且只能在实例化链表之后立即实例化此Node类。因此,这支持以下概念:没有链接列表就无法存在节点。
因此,通常将此
的情况下无法存在
链表是一个线性数据结构,其中每个元素都是一个单独的对象。列表的每个元素(我们称其为节点)都由数据以及对下一个节点和上一个节点的引用组成。最后一个节点引用了null。
链表中的每个元素都是node,它实际上包含数据,上一个引用和下一个引用。
由于链表支持对下一个元素的引用,因此我们需要有一个同时包含数据和引用的节点。
引用链接列表