一、基本概念
Java中的Map是一個鍵值對(key-value)的集合,其中每個元素都由一個鍵和一個值組成。在Map中,鍵不能重複,因此每個鍵對應著唯一的值。Map介面中常用的實現類為HashMap、TreeMap等。
Map的遍歷就是將Map中的所有元素依次訪問一遍。Java中常用的Map遍歷方法有三種,分別是使用Iterator、使用foreach和使用lambda表達式。
二、Iterator遍歷
Iterator遍歷是一種比較傳統的遍歷方式,其步驟如下:
1、通過Map.keySet()方法獲取Map中所有鍵的集合;
2、使用Iterator迭代器遍歷鍵的集合;
3、通過Map.get()方法獲取對應鍵的值。
Map<String, String> map = new HashMap<>(); map.put("name", "張三"); map.put("age", "20"); map.put("gender", "男"); Iterator<String> iterator = map.keySet().iterator(); while(iterator.hasNext()){ String key = iterator.next(); String value = map.get(key); System.out.println(key + ":" + value); }
三、foreach遍歷
foreach遍歷是一種比較簡便的遍歷方式,其中for循環的語法表示「for(元素類型 元素變數 : 遍歷對象)」,其步驟如下:
1、遍歷Map中所有元素;
2、通過Map.Entry類型的entry遍歷鍵值對;
3、通過entry.getKey()方法獲取鍵,通過entry.getValue()方法獲取值。
Map<String, String> map = new HashMap<>(); map.put("name", "張三"); map.put("age", "20"); map.put("gender", "男"); for(Map.Entry<String, String> entry : map.entrySet()){ String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + ":" + value); }
四、lambda表達式遍歷
lambda表達式遍歷是Java8中引入的新方法,其步驟如下:
1、調用Map.forEach()方法,該方法需要一個BiConsumer類型的參數;
2、通過lambda表達式遍歷鍵值對,BiConsumer中的第一個參數表示鍵,第二個參數表示值。
Map<String, String> map = new HashMap<>(); map.put("name", "張三"); map.put("age", "20"); map.put("gender", "男"); map.forEach((key, value) -> System.out.println(key + ":" + value));
五、注意事項
在使用Map進行遍歷時,需要注意以下幾點。
1、遍歷Map時,盡量使用forEach或者lambda表達式遍歷,因為它們能夠更加簡潔、高效地遍歷Map;
2、如果需要遍歷Map中的鍵,可以使用Map.keySet()方法獲取鍵的集合,如果需要遍歷Map中的值,可以使用Map.values()方法獲取值的集合;
3、如果需要遍歷Map中的鍵值對,可以使用Map.entrySet()方法獲取鍵值對的集合;
4、在使用foreach遍歷Map時,如果需要對集合進行修改,需要使用Iterator進行遍歷。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/227520.html