Java - List 介面
你好,有志學習 Java 的程式設計師們!今天,我們將深入探討 Java 程式設計中最基礎且多功能的觀念之一:List 介面。如果你是程式設計的新手,不用擔心;我會一步步引導你,就像我過去幾年來對無數學生所做的一樣。所以,來一杯咖啡(或者如果你喜歡,來一杯茶),讓我們一起踏上這個令人興奮的冒險!
List 是什麼?
在我們深入細節之前,讓我們從一個簡單的比喻開始。想像你正在計劃一個派對,並需要記錄你的客人。你可以把他们的名字寫在一张纸上,對吧?在 Java 中,List 就像那張纸,但更強大、更靈活。
在 Java 中,List 是一個介面,代表一個有序的元素集合。它是 Java 集合框架的一部分,Java 集合框架是一組實現常用的可重用集合數據結構的類和介面。
List 的關鍵特徵
- 有序:List 中的元素會保持其插入順序。
- 允許重複:你可以在 List 中有多个相同的元素。
- 索引基礎:你可以通过位置(索引)在 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]
讓我們分解這裡發生了什麼:
- 我們從
java.util
套件中導入必要的類。 - 我們創建一個
String
物件的List
,名為guestList
。 - 我們使用
add()
方法將客人添加到列表中。 - 最後,我們打印整個列表。
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