4.1.Java实现单向链表(完整代码及详细注释)
文章目录
1.什么是单向链表?
单向链表由多个节点组成,每个 节点(用于存储数据) 通过next指针相互连接,
下一个节点的引用存放在上一个节点的next指针中, 从而构成了一个线性的链表(它与数组的区别就是它可以不具空间连续性)
在java中一般通过定义节点Node类和API类的方式来实现链表
JDK中对链表LinkedList的节点的实现结构如下:
可以看到链表节点组成分为三部分:
存储数据的元素item , 当前节点下一节点的引用next, 当前节点上一节点的引用prev
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;
}
}
节点定义一般就放在API内部作为内部静态类使用,也就是我们使用链表数据结构都是通过API对外开放的接口进行调用的,
我们不允许直接对链表内部属性直接访问。
1.1 单向链表基本结构
单向链表节点的定义中没有上一节点的引用。
下面我们学习最基本的链表结构,我们默认链表中的元素就是int类型数字。
如图所示: