在Java中,Map
是一個鍵值對集合,它允許我們通過鍵來快速檢索值。以下是遍歷Map
的幾種常見方式:
使用keySet()方法和for-each循環:
keySet()
方法返回一個包含Map中所有鍵的Set集合。我們可以使用增強的for循環來遍歷這個Set,并通過鍵來獲取對應的值。
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
使用values()方法和for-each循環:
values()
方法返回一個包含Map中所有值的Collection集合。雖然它本身不支持通過索引訪問元素,但我們可以結合使用iterator()
方法和hasNext()
方法來遍歷值。
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
使用entrySet()方法和for-each循環:
entrySet()
方法返回一個包含Map中所有鍵值對的Set集合。我們可以使用增強的for循環來遍歷這個Set,并通過鍵值對直接獲取鍵和值。
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
使用Java 8的Stream API:
從Java 8開始,我們可以使用Stream API來處理集合,包括Map。通過將Map
轉換為一個流,我們可以使用各種流操作來遍歷鍵值對。
map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
// 或者
map.entrySet().stream().forEach(entry -> System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()));
這些方法都可以有效地遍歷Java中的Map
類型,具體選擇哪種方法取決于你的需求和編碼風格。