如何遍歷HashMap集合?

2023-04-23 21:00:13

在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);
        }
    }
}

可以根據上述三種遍歷方法的需求,選擇相應的方式進行遍歷。