Java字典類別:初學者指南
介紹
你好,未來的Java巫師!今天,我們將踏上一段令人興奮的旅程,進入Java字典的世界。現在,你可能在想,“字典?那不是我用來查詞的東西嗎?”嗯,你沒有錯,但在編程世界裡,字典有點不同,而且非常實用!
在Java中,字典就像一個神奇的盒子,你可以存儲一對對的東西。想象一下,你有一個鞋盒,每雙鞋都有一個相配的襪子。字典的工作原理類似於此 - 你放入一個“鍵”(就像鞋子),它會還給你一個“值”(就像相配的襪子)。很酷,對吧?
讓我們深入探究一下,看看如何在我们的Java冒險中使用這個強大的工具!
類別聲明
首先,讓我們看看如何在Java中聲明一個字典:
import java.util.Dictionary;
public class MyDictionary extends Dictionary<Integer, String> {
// 你的代碼在這裡
}
現在,不要讓這個嚇到你!讓我們來分解它:
- 我們從Java的公用包中導入字典類別。
- 我們創建自己的類別,稱為
MyDictionary
。 - 我們表示我們的字典將使用整數作為鍵和字符串作為值。
把它想成是創建一個特殊的盒子,我們在盒子外面放數字(整數),在盒子裡面放詞語(字符串)。
類別構造器
現在我們有了字典盒,讓我們看看如何創建它:
public MyDictionary() {
// 構造器代碼在這裡
}
這稱為構造器。它就像建造我們字典盒的工廠。我們可以先留空,因為Java將提供一種默認的方式來創建我們的字典。
類別方法
這裡魔法發生了!字典帶有一些內建的超能力(方法),我們可以使用。讓我們看看一些:
@Override
public int size() {
// 返回鍵-值對的數量
}
@Override
public boolean isEmpty() {
// 檢查字典是否為空
}
@Override
public String get(Object key) {
// 獲取與鍵相關聯的值
}
@Override
public String put(Integer key, String value) {
// 添加新的鍵-值對或更新現有的對
}
@Override
public String remove(Object key) {
// 刪除一個鍵-值對
}
現在不用擔心@Override
。這只是我們告訴Java我們正在使用這些方法的自己的版本。
讓我們分解這些:
-
size()
:計算字典中有多少對。 -
isEmpty()
:檢查我們的字典是否為空(就像檢查我們的鞋盒裡有沒有鞋子一樣)。 -
get(Object key)
:查找給定鍵的值(就像尋找與鞋子相配的襪子一樣)。 -
put(Integer key, String value)
:添加新的對或更新現有的對。 -
remove(Object key)
:從我們的字典中刪除一對。
繼承的方法
我們的字典還從其父類繼承了一些方法。把這些想成是我們字典盒附帶的額外功能:
方法 | 描述 |
---|---|
clone() |
創建字典的副本 |
equals(Object obj) |
檢查兩個字典是否相同 |
hashCode() |
為字典生成唯一的代碼 |
toString() |
將字典轉換為字符串 |
notify() |
唤醒正在等待此字典的線程 |
notifyAll() |
唤醒所有正在等待此字典的線程 |
wait() |
使當前線程等待 |
這些方法在更先進的編程情景中可能非常有幫助。
將映射添加到整數,整數字典示例
現在,讓我們把這些知識投入實踐!我們將創建一個將學生ID(整數)映射到其年齡(也是整數)的字典:
import java.util.Dictionary;
import java.util.Hashtable;
public class StudentAges {
public static void main(String[] args) {
// 創建新的字典
Dictionary<Integer, Integer> studentAges = new Hashtable<>();
// 添加一些學生ID和年齡
studentAges.put(1001, 18);
studentAges.put(1002, 19);
studentAges.put(1003, 20);
// 列印字典
System.out.println("Student Ages: " + studentAges);
// 獲取一個學生的年齡
int studentId = 1002;
int age = studentAges.get(studentId);
System.out.println("Age of student with ID " + studentId + ": " + age);
// 刪除一個學生
studentAges.remove(1001);
// 檢查字典是否為空
System.out.println("Is the Dictionary empty? " + studentAges.isEmpty());
// 獲取字典的大小
System.out.println("Number of students: " + studentAges.size());
}
}
讓我們分解這些:
- 我們創建了一個新的字典,稱為
studentAges
。 - 我們添加了三名學生及其ID和年齡。
- 我們列印出整個字典。
- 我們檢索並列印ID為1002的學生的年齡。
- 我們刪除了ID為1001的學生。
- 我們檢查字典是否為空(不是!)。
- 最後,我們列印出字典中剩下多少學生。
當你運行這段代碼時,你將看到所有這些操作實際上是如何工作的!
就是這樣,各位!你剛剛走出了Java字典世界的第一步。請記住,熟練是完美的關鍵,所以不要害怕嘗試不同的鍵和值。誰知道呢?也許你會利用字典創造出下一個偉大的應用程序!
編程愉快,願你的字典永遠井井有條!
Credits: Image by storyset