在Java中,Map
是一個(gè)鍵值對(duì)集合,它允許我們通過(guò)鍵來(lái)快速檢索值。以下是遍歷Map
的幾種常見(jiàn)方式:
使用keySet()方法和for-each循環(huán):
keySet()
方法返回一個(gè)包含Map中所有鍵的Set集合。我們可以使用增強(qiáng)的for循環(huán)來(lái)遍歷這個(gè)Set,并通過(guò)鍵來(lái)獲取對(duì)應(yīng)的值。
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循環(huán):
values()
方法返回一個(gè)包含Map中所有值的Collection集合。雖然它本身不支持通過(guò)索引訪問(wèn)元素,但我們可以結(jié)合使用iterator()
方法和hasNext()
方法來(lái)遍歷值。
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
使用entrySet()方法和for-each循環(huán):
entrySet()
方法返回一個(gè)包含Map中所有鍵值對(duì)的Set集合。我們可以使用增強(qiáng)的for循環(huán)來(lái)遍歷這個(gè)Set,并通過(guò)鍵值對(duì)直接獲取鍵和值。
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開(kāi)始,我們可以使用Stream API來(lái)處理集合,包括Map。通過(guò)將Map
轉(zhuǎn)換為一個(gè)流,我們可以使用各種流操作來(lái)遍歷鍵值對(duì)。
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
類(lèi)型,具體選擇哪種方法取決于你的需求和編碼風(fēng)格。