Java - List 介面

你好,有志學習 Java 的程式設計師們!今天,我們將深入探討 Java 程式設計中最基礎且多功能的觀念之一:List 介面。如果你是程式設計的新手,不用擔心;我會一步步引導你,就像我過去幾年來對無數學生所做的一樣。所以,來一杯咖啡(或者如果你喜歡,來一杯茶),讓我們一起踏上這個令人興奮的冒險!

Java - List Interface

List 是什麼?

在我們深入細節之前,讓我們從一個簡單的比喻開始。想像你正在計劃一個派對,並需要記錄你的客人。你可以把他们的名字寫在一张纸上,對吧?在 Java 中,List 就像那張纸,但更強大、更靈活。

在 Java 中,List 是一個介面,代表一個有序的元素集合。它是 Java 集合框架的一部分,Java 集合框架是一組實現常用的可重用集合數據結構的類和介面。

List 的關鍵特徵

  1. 有序:List 中的元素會保持其插入順序。
  2. 允許重複:你可以在 List 中有多个相同的元素。
  3. 索引基礎:你可以通过位置(索引)在 List 中訪問元素。

創建 List

現在,讓我們來動手寫一些代碼!在 Java 中,我們通常使用兩個實現 List 介面的類之一:ArrayList 或 LinkedList。目前,我們將聚焦於 ArrayList,因為它是最常被使用的。

import java.util.ArrayList;
import java.util.List;

public class ListExample {
public static void main(String[] args) {
// 創建一個 String 类型的 List
List<String> guestList = new ArrayList<>();

// 將客人添加到我們的列表中
guestList.add("Alice");
guestList.add("Bob");
guestList.add("Charlie");

System.out.println("客人名單: " + guestList);
}
}

當你運行這段代碼時,你會看到:

客人名單: [Alice, Bob, Charlie]

讓我們分解這裡發生了什麼:

  1. 我們從 java.util 套件中導入必要的類。
  2. 我們創建一個 String 物件的 List,名為 guestList
  3. 我們使用 add() 方法將客人添加到列表中。
  4. 最後,我們打印整個列表。

List 的常见操作

現在我們有了客人名單,讓我們探討一些我們可以在 List 上執行的常见操作。

添加元素

我們已經看到了如何使用 add() 方法添加元素。但還有更多!

// 在特定索引位置添加元素
guestList.add(1, "David");

// 一次性添加多个元素
List<String> moreGuests = Arrays.asList("Eve", "Frank");
guestList.addAll(moreGuests);

System.out.println("更新後的客人名單: " + guestList);

輸出:

更新後的客人名單: [Alice, David, Bob, Charlie, Eve, Frank]

訪問元素

要訪問 List 中的元素,我們使用 get() 方法:

String firstGuest = guestList.get(0);
System.out.println("第一位客人 是: " + firstGuest);

輸出:

第一位客人 是: Alice

移除元素

我們可以使用索引或元素本身來移除元素:

// 通过索引移除
guestList.remove(2);

// 通过元素移除
guestList.remove("Frank");

System.out.println("移除後的名單: " + guestList);

輸出:

移除後的名單: [Alice, David, Charlie, Eve]

檢查元素是否存在

要檢查 List 是否包含特定的元素,使用 contains() 方法:

boolean isAliceInvited = guestList.contains("Alice");
System.out.println("Alice 是否被邀請? " + isAliceInvited);

輸出:

Alice 是否被邀請? true

獲取 List 的大小

要知道你的 List 中有多少元素,使用 size() 方法:

int numberOfGuests = guestList.size();
System.out.println("客人數量: " + numberOfGuests);

輸出:

客人數量: 4

遍歷 List

在 List 上執行的最常见操作之一是遍歷其元素。Java 提供了多種方式來做到這點:

使用 for-each 循环

這是最直接且易讀的方式:

System.out.println("客人名單:");
for (String guest : guestList) {
System.out.println("- " + guest);
}

輸出:

客人名單:
- Alice
- David
- Charlie
- Eve

使用傳統 for 循环

如果你需要訪問索引,可以使用傳統的 for 循环:

System.out.println("帶數字的客人名單:");
for (int i = 0; i < guestList.size(); i++) {
System.out.println((i + 1) + ". " + guestList.get(i));
}

輸出:

帶數字的客人名單:
1. Alice
2. David
3. Charlie
4. Eve

使用 Iterator

对于更高级的操作,你可以使用 Iterator:

System.out.println("移除名字以 'A' 開頭的客人:");
Iterator<String> iterator = guestList.iterator();
while (iterator.hasNext()) {
String guest = iterator.next();
if (guest.startsWith("A")) {
iterator.remove();
System.out.println("移除: " + guest);
}
}
System.out.println("更新後的客人名單: " + guestList);

輸出:

移除名字以 'A' 開頭的客人:
移除: Alice
更新後的客人名單: [David, Charlie, Eve]

List 方法表

以下是一些常见 List 方法的便捷表格:

方法 描述
add(E e) 在列表末尾添加元素
add(int index, E element) 在指定位置插入元素
get(int index) 返回指定位置的元素
remove(int index) 移除指定位置的元素
remove(Object o) 移除第一次出现的指定元素
size() 返回列表中的元素数量
clear() 从列表中移除所有元素
contains(Object o) 如果列表包含指定元素,返回 true
indexOf(Object o) 返回指定元素第一次出现的索引
isEmpty() 如果列表不包含任何元素,返回 true

結論

恭喜你!你已經邁出了進入 Java List 世界的第一步。我們已經涵蓋了創建、操作和遍歷 List 的基礎,這對任何 Java 程式設計師來說都是必不可少的技能。

記住,List 只不過是 Java 集合中的一小部分。在你繼續學習的旅程中,你將會遇到其他迷人的數據結構,如 Sets、Maps 和 Queues,它們各有其獨特的屬性和用例。

編程就是關於實踐,所以我鼓勵你嘗試這些概念。試著創建不同類型的 Lists,為我們討論的範例添加你自己的變化,最重要的是,玩得開心!也許你會用這些技能創造下一個改變派對計劃的大應用程序!

下次見,快樂編程!

Credits: Image by storyset