java链表如何定义
链表定义的基本结构
在Java中,链表通常通过自定义类实现,包含节点类(Node)和链表类(LinkedList)。节点类存储数据及指向下一个节点的引用,链表类管理节点的增删改查操作。
定义节点类
节点类是链表的基本单元,包含数据域和指针域:
class Node<T> {
T data; // 存储数据
Node<T> next; // 指向下一个节点的引用
// 构造函数
public Node(T data) {
this.data = data;
this.next = null;
}
}
泛型<T>支持任意数据类型,next默认为null表示链表末尾。
定义链表类
链表类封装对节点的操作,如插入、删除和遍历:
class LinkedList<T> {
private Node<T> head; // 头节点
// 构造函数
public LinkedList() {
this.head = null;
}
// 在链表末尾添加节点
public void append(T data) {
Node<T> newNode = new Node<>(data);
if (head == null) {
head = newNode;
return;
}
Node<T> current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
}
// 打印链表
public void printList() {
Node<T> current = head;
while (current != null) {
System.out.print(current.data + " -> ");
current = current.next;
}
System.out.println("null");
}
}
使用示例
创建链表并添加元素:

public class Main {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
list.append(1);
list.append(2);
list.append(3);
list.printList(); // 输出: 1 -> 2 -> 3 -> null
}
}
其他常见操作
- 插入头部:将新节点作为头节点,原链表接在其后。
- 删除节点:遍历链表找到目标节点,调整前驱节点的
next引用。 - 查找节点:按值或索引遍历链表直至匹配。
通过上述结构可灵活实现单向链表,双向链表需在节点类中增加prev引用。






