在Java中,HashMap是一種常用的資料結構,它提供了快速的查詢、插入和刪除操作。當我們需要遍歷HashMap中的所有元素時,可以利用三種不同的方法實現。
方法一:使用鍵值對遍歷
HashMap中儲存的是鍵值對的形式,因此最簡單的方法就是直接遍歷鍵值對。我們可以透過以下程式碼實現:
// 建立一個HashMap物件
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 將元素新增到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");
// 遍歷HashMap中的鍵值對
for (Map.Entry<Integer, String> entry : hashMap.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ": " + value);
}
上述程式碼中,我們首先建立了一個HashMap物件,並將三個元素新增到其中。然後我們使用entrySet()方法獲取鍵值對的集合,使用for迴圈遍歷該集合,並透過getKey()和getValue()方法分別獲取鍵和值。
方法二:使用鍵集合遍歷
除了遍歷鍵值對外,還可以直接遍歷鍵的集合,透過鍵獲取值即可。我們可以透過以下程式碼實現:
// 建立一個HashMap物件
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 將元素新增到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");
// 遍歷HashMap中的鍵
for (Integer key : hashMap.keySet()) {
String value = hashMap.get(key);
System.out.println(key + ": " + value);
}
在上述程式碼中,我們首先建立了一個HashMap物件,並將三個元素新增到其中。然後我們使用keySet()方法獲取鍵的集合,使用for迴圈遍歷該集合,並透過get()方法獲取對應的值。
方法三:使用值集合遍歷
除了遍歷鍵和鍵值對外,還可以直接遍歷值的集合。我們可以透過以下程式碼實現:
// 建立一個HashMap物件
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 將元素新增到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");
// 遍歷HashMap中的值
for (String value : hashMap.values()) {
System.out.println(value);
}
在上述程式碼中,我們首先建立了一個HashMap物件,並將三個元素新增到其中。然後我們使用values()方法獲取值的集合,使用for迴圈遍歷該集合即可。
原始碼
以下是完整的原始碼:
import java.util.HashMap;
import java.util.Map;
public class HashMapTraversal {
public static void main(String[] args) {
// 建立一個HashMap物件
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 將元素新增到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");
// 遍歷HashMap中的鍵值對
for (Map.Entry<Integer, String> entry : hashMap.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ": " + value);
}
// 遍歷HashMap中的鍵
for (Integer key : hashMap.keySet()) {
String value = hashMap.get(key);
System.out.println(key + ": " + value);
}
// 遍歷HashMap中的值
for (String value : hashMap.values()) {
System.out.println(value);
}
}
}
可以根據上述三種遍歷方法的需求,選擇相應的方式進行遍歷。