iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
自我挑戰組

轉職仔自學Java筆記本系列 第 10

Java的雜湊表 (HashMap)

  • 分享至 

  • xImage
  •  

HashMap 是 Java 中用來儲存 key-value 資料的資料型別,與 Python 中的 dict 比較相近,內部存許的資料是無序的,且具有很快的訪問速度。

跟 ArrayList 相同,HashMap 不支援 Primitive Data Types 作為元素,需要使用 Wrapper Class 才可以作宣告。

// 創建一個 HashMap,Key 為 int Value 為 String
HashMap<Integer, String> items = new HashMap<Integer, String>();

新增與讀取元素 put() & get()

在 HashMap 中,Key 並不限制為 String,這是與 Json 格式的主要差異。添加元素的方式可以使用 put(key, value),並用 get(key) 取得指定 key 的 value。

// 新增元素 put(key, value)
items.put(1, "apple");
items.put(2, "banana");
items.put(3, "cherry");
System.out.println(items);
// Out: {1=apple, 2=banana, 3=cherry}

// 訪問元素 get(key)
System.out.println(items.get(3));
// Out: cherry

刪除元素 remove()

HashMap 在刪除元素時,可以使用 remove(key),但比較特別的是 remove() 的返回值會是被刪除 key 所對應的 value,這部分比較接近 Python dict 的 pop()。

// remove(key)
String eat = items.remove(2);
System.out.println(eat);

// Out: banana

取得 Key 集 & Value 集

HashMap 也支援以 keySet() 取得全部的 key 值,以及以 values() 取得全部 values。

HashMap.keySet() 或 HashMap.values() 的返回值可以指派給 Set<element>,但不可以給 Array等有序的資料類別。


System.out.println(items.keySet());
// Out: [1, 2, 3]

System.out.println(items.values());
// Out: [apple, banana, cherry]


上一篇
Java 的陣列 (Array) 與動態陣列 (ArrayList)
下一篇
Java 中的 Json
系列文
轉職仔自學Java筆記本22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言