Java LinkedList 类:初学者指南
引言
你好,未来的Java巫师!今天,我们将开始一段激动人心的旅程,深入了解Java LinkedList的世界。如果你是编程新手,也不用担心——我会成为你的友好向导,我们将一步步探索这个主题。在本教程结束时,你将能够像专业人士一样链接列表!
想象一下,你在聚会上组织一条康茄舞队。每个人都抓住前面人的肩膀,形成一条链。本质上,Java中的LinkedList就是这样——一个元素链,每个元素都与下一个元素相连。这是一种存储和管理数据的有趣且灵活的方式!
类声明
我们从基础开始。在Java中,LinkedList类是java.util包的一部分。以下是声明方法:
import java.util.LinkedList;
public class LinkedListExample {
public static void main(String[] args) {
LinkedList<String> partyGuests = new LinkedList<>();
}
}
在这个例子中,我们创建了一个名为partyGuests
的LinkedList,它将存储Strings(我们的客人姓名)。<String>
部分是我们称之为“泛型”的东西——它指定了我们的列表将持有的元素类型。
参数
Java中的LinkedList是一个泛型类,这意味着它可以处理不同类型的数据。类型参数<E>
代表列表中的元素类型。在我们的聚会示例中,E
将是String
。
字段
LinkedList没有公开的字段。它的所有内部工作都被封装(这是一个花哨的词,意为“隐藏”)在类内。这是面向对象编程中的良好实践——就像在餐厅里用餐时,把乱糟糟的厨房隐藏起来!
类构造函数
LinkedList提供了两个构造函数:
-
LinkedList()
: 创建一个空列表。 -
LinkedList(Collection<? extends E> c)
: 创建一个包含指定集合元素列表。
让我们看看它们的实际应用:
LinkedList<String> emptyParty = new LinkedList<>(); // 空列表
LinkedList<String> vipGuests = new LinkedList<>(Arrays.asList("Alice", "Bob", "Charlie")); // 带有初始元素的列表
类方法
LinkedList附带了许多有用的方法。以下是一些最常用的:
方法 | 描述 |
---|---|
add(E element) | 将元素添加到列表末尾 |
add(int index, E element) | 在指定位置添加元素 |
addFirst(E element) | 在列表开头添加元素 |
addLast(E element) | 在列表末尾添加元素 |
remove(Object o) | 删除指定元素第一次出现的元素 |
remove(int index) | 删除指定位置的元素 |
get(int index) | 返回指定位置的元素 |
set(int index, E element) | 替换指定位置的元素 |
size() | 返回列表中的元素数量 |
clear() | 从列表中删除所有元素 |
继承的方法
LinkedList从几个接口和类继承了方法,包括Collection、Deque、List和AbstractSequentialList。这意味着它能做的远不止我们在这里介绍的!
向LinkedList添加元素的示例
让我们用一个有趣的例子来实践我们的知识:
import java.util.LinkedList;
public class PartyPlanner {
public static void main(String[] args) {
LinkedList<String> partyGuests = new LinkedList<>();
// 向我们的聚会添加客人
partyGuests.add("Alice");
partyGuests.addLast("Bob");
partyGuests.addFirst("Charlie");
partyGuests.add(1, "David");
System.out.println("客人列表: " + partyGuests);
// 哎呀,Bob不能来了
partyGuests.remove("Bob");
// 添加一个VIP客人
partyGuests.addFirst("Eve");
System.out.println("更新后的客人列表: " + partyGuests);
System.out.println("客人数量: " + partyGuests.size());
}
}
输出
运行此代码时,你会看到:
客人列表: [Charlie, David, Alice, Bob]
更新后的客人列表: [Eve, Charlie, David, Alice]
客人数量: 4
让我们分解一下发生了什么:
- 我们从一个空的客人列表开始。
- 我们将Alice添加到末尾,Bob添加到末尾,Charlie添加到开头,David添加到第二个位置。
- 我们打印了初始客人列表。
- Bob不能来了,所以我们删除了他。
- 我们将Eve作为VIP客人添加到列表开头。
- 我们打印了更新后的列表和客人总数。
看LinkedList多么灵活?我们可以轻松地从任何位置添加和删除元素!
总之,LinkedList是Java中一个强大且灵活的工具。它就像编码聚会的神奇客人列表——你可以轻松地添加或删除队伍中任何位置的客人!记住,熟能生巧,所以不要害怕尝试不同的方法,并创建自己的LinkedList示例。祝编码愉快,愿你的列表总是完美链接!
Credits: Image by storyset