Java LinkedList 类:初学者指南

引言

你好,未来的Java巫师!今天,我们将开始一段激动人心的旅程,深入了解Java LinkedList的世界。如果你是编程新手,也不用担心——我会成为你的友好向导,我们将一步步探索这个主题。在本教程结束时,你将能够像专业人士一样链接列表!

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提供了两个构造函数:

  1. LinkedList(): 创建一个空列表。
  2. 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

让我们分解一下发生了什么:

  1. 我们从一个空的客人列表开始。
  2. 我们将Alice添加到末尾,Bob添加到末尾,Charlie添加到开头,David添加到第二个位置。
  3. 我们打印了初始客人列表。
  4. Bob不能来了,所以我们删除了他。
  5. 我们将Eve作为VIP客人添加到列表开头。
  6. 我们打印了更新后的列表和客人总数。

看LinkedList多么灵活?我们可以轻松地从任何位置添加和删除元素!

总之,LinkedList是Java中一个强大且灵活的工具。它就像编码聚会的神奇客人列表——你可以轻松地添加或删除队伍中任何位置的客人!记住,熟能生巧,所以不要害怕尝试不同的方法,并创建自己的LinkedList示例。祝编码愉快,愿你的列表总是完美链接!

Credits: Image by storyset