一、Map的概述
Map
是一個非常重要的Java集合類,它將鍵映射到值。一個Map
中不能包含重複的鍵,每個鍵可以映射到唯一的一個值。
Map
提供了三個視圖:鍵集、值集和鍵-值對集合視圖。這些視圖允許Map
的內容被分別從不同角度訪問。
在Java中,提供了多種方式用於遍歷Map
。
二、for-each遍歷Map
for-each
語句是Java SE5中引入的一個新特性。它可以遍曆數組和實現了Iterable
介面的集合。
對於Map
,可以使用entrySet()
方法來獲取Map.Entry
對象集合。然後使用for-each
循環遍歷每個鍵-值對。
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); for (Map.Entry<String, String> entry : map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + " : " + value); }
輸出:
key1 : value1 key2 : value2 key3 : value3
三、Lambda表達式遍歷Map
在Java 8中引入的Lambda表達式進一步簡化了代碼。可以使用forEach()
方法結合Lambda表達式來遍歷Map
,如下所示:
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.forEach((key, value) -> System.out.println(key + " : " + value));
輸出:
key1 : value1 key2 : value2 key3 : value3
四、Iterator迭代器遍歷Map
使用迭代器遍歷Map
也是一種常見的方式。可以使用keySet()
方法獲取Map
中所有鍵的集合,然後使用迭代器遍歷每個鍵,並獲取對應的值。
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); Iterator<String> iterator = map.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); String value = map.get(key); System.out.println(key + " : " + value); }
輸出:
key1 : value1 key2 : value2 key3 : value3
五、Stream流遍歷Map
Java 8中引入了Stream流,可以使用Stream流來遍歷Map
,如下所示:
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.entrySet().stream().forEach(entry -> System.out.println(entry.getKey() + " : " + entry.getValue()));
輸出:
key1 : value1 key2 : value2 key3 : value3
六、小結
本文總結了Java中遍歷Map
的幾種方式,包括for-each循環、Lambda表達式、迭代器、Stream流等。
對於小型的Map
,可以使用for-each循環或Lambda表達式來遍歷。對於大型的Map
,以及需要修改Map
中的鍵-值對時,應該使用迭代器遍歷。對於需要對Map
進行過濾、映射、匯總等操作時,應該使用Stream流。
根據具體需求選擇合適的遍歷方式,可以更加便捷地操作Map
中的數據。
原創文章,作者:RVSI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138910.html