在学习数据结构时,Java单向链表是一个非常基础且重要的概念。无论你是编程新手还是希望巩固基础知识的开发者,本篇单向链表教程都将带你从零开始,一步步理解并实现一个完整的单向链表。
单向链表(Singly Linked List)是一种线性数据结构,由一系列节点(Node)组成。每个节点包含两部分:
与数组不同,链表中的元素在内存中不是连续存储的,而是通过“指针”链接在一起。这种结构使得插入和删除操作非常高效。

掌握Java链表实现不仅能帮助你理解底层数据结构原理,还能提升你在算法面试中的表现。很多高级数据结构(如栈、队列、图等)都基于链表构建。
下面我们用Java代码一步一步实现一个简单的单向链表,包含以下基本操作:
class ListNode { int data; ListNode next; // 构造函数 public ListNode(int data) { this.data = data; this.next = null; }}public class SinglyLinkedList { private ListNode head; // 链表头节点 // 构造函数 public SinglyLinkedList() { this.head = null; } // 在链表头部插入新节点 public void insertAtHead(int data) { ListNode newNode = new ListNode(data); newNode.next = head; head = newNode; } // 打印整个链表 public void printList() { ListNode current = head; while (current != null) { System.out.print(current.data + " -> "); current = current.next; } System.out.println("null"); } // 查找指定值的节点 public boolean search(int value) { ListNode current = head; while (current != null) { if (current.data == value) { return true; } current = current.next; } return false; } // 删除第一个匹配的节点 public void delete(int value) { if (head == null) return; // 如果要删除的是头节点 if (head.data == value) { head = head.next; return; } ListNode current = head; while (current.next != null && current.next.data != value) { current = current.next; } // 如果找到了要删除的节点 if (current.next != null) { current.next = current.next.next; } }}public class Main { public static void main(String[] args) { SinglyLinkedList list = new SinglyLinkedList(); list.insertAtHead(10); list.insertAtHead(20); list.insertAtHead(30); System.out.println("当前链表:"); list.printList(); // 输出:30 -> 20 -> 10 -> null System.out.println("查找20:" + list.search(20)); // true System.out.println("查找40:" + list.search(40)); // false list.delete(20); System.out.println("删除20后:"); list.printList(); // 输出:30 -> 10 -> null }}| 优点 | 缺点 |
|---|---|
| 动态大小,无需预先分配内存 | 无法随机访问,必须从头遍历 |
| 插入/删除效率高(O(1),若已知位置) | 额外内存开销(存储指针) |
| 适合频繁增删的场景 | 缓存局部性差,性能不如数组 |
通过本篇单向链表教程,你已经掌握了如何用Java实现一个基本的单向链表,并理解了其核心操作和适用场景。无论是为了面试准备还是深入学习链表数据结构,这都是一个坚实的起点。
记住:多写代码、多调试,是掌握数据结构的最佳方式。现在就打开你的IDE,动手试试吧!
关键词:Java单向链表、链表数据结构、Java链表实现、单向链表教程
本文由主机测评网于2025-12-24发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251212078.html