在Java编程中,LinkedList 是一个非常重要的集合类,属于 java.util 包。它实现了 List 和 Deque 接口,既可以作为列表使用,也可以当作双端队列来操作。本教程将带你从零开始学习 Java LinkedList 的基本概念、常用方法和实际应用场景,即使你是编程小白也能轻松上手!
LinkedList 是基于双向链表实现的数据结构。与 ArrayList 不同,它不依赖于连续的内存空间,而是通过节点(Node)之间的引用连接起来。每个节点包含三个部分:数据、指向前一个节点的引用和指向后一个节点的引用。
这种结构使得 LinkedList 在插入和删除元素时效率很高(尤其是首尾操作),但随机访问(如通过索引获取元素)速度较慢,因为需要从头或尾遍历。
首先,你需要导入 java.util.LinkedList,然后可以像下面这样创建一个 LinkedList 对象:
import java.util.LinkedList;public class Main { public static void main(String[] args) { // 创建一个空的LinkedList LinkedList<String> list = new LinkedList<>(); // 添加元素 list.add("苹果"); list.add("香蕉"); list.add("橙子"); System.out.println(list); // 输出: [苹果, 香蕉, 橙子] }} 下面我们详细讲解 LinkedList增删改查 的常用方法。
add(E e):在末尾添加元素addFirst(E e) / addLast(E e):在头部或尾部添加add(int index, E element):在指定位置插入LinkedList<Integer> numbers = new LinkedList<>();numbers.add(10);numbers.addFirst(5);numbers.addLast(20);numbers.add(1, 7); // 在索引1处插入7// 结果: [5, 7, 10, 20] remove() / removeFirst():删除第一个元素removeLast():删除最后一个元素remove(Object o):删除第一个匹配的元素remove(int index):按索引删除numbers.removeFirst(); // 删除5numbers.remove(new Integer(10)); // 删除值为10的元素// 结果: [7, 20] set(int index, E element):替换指定位置的元素numbers.set(0, 100); // 将索引0的元素改为100// 结果: [100, 20] get(int index):获取指定索引的元素getFirst() / getLast():获取首尾元素contains(Object o):判断是否包含某元素int first = numbers.getFirst(); // 100boolean has20 = numbers.contains(20); // true 很多初学者会疑惑:什么时候用 LinkedList,什么时候用 ArrayList?简单总结:
| 操作 | LinkedList | ArrayList |
|---|---|---|
| 尾部插入/删除 | O(1) | O(1)(平均) |
| 中间插入/删除 | O(n) | O(n) |
| 随机访问 | O(n) | O(1) |
因此,如果你的应用场景需要频繁在列表两端进行插入或删除(比如实现栈或队列),LinkedList 是更好的选择;如果需要大量随机访问,建议使用 ArrayList。
由于 LinkedList 支持高效的首尾操作,我们可以轻松用它实现栈(LIFO):
LinkedList<String> stack = new LinkedList<>();// 入栈stack.push("A");stack.push("B");stack.push("C");// 出栈while (!stack.isEmpty()) { System.out.println(stack.pop()); // 输出: C, B, A} 通过本教程,你已经掌握了 Java LinkedList使用方法 的核心内容,包括创建、增删改查操作、与 ArrayList 的对比以及实际应用。记住,LinkedList 特别适合需要频繁在两端操作的场景。希望这篇 Java LinkedList教程 能帮助你打下坚实的基础!
如果你觉得有用,不妨动手写几个小例子加深理解。编程最重要的就是多练习!
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127799.html