Java 中 Map 集合的三種遍歷方式小結(jié)
Map 集合的遍歷方式有 3 種:
方式一:鍵找值的方式遍歷:先獲取 Map 集合全部的鍵,再根據(jù)遍歷鍵找值。
方式二:鍵值對的方式遍歷,把“鍵值對“看成一個整體,難度較大。
方式三:JDK 1.8 開始之后的新技術(shù):Lambda 表達(dá)式。
Map 集合的遍歷方式一: 鍵找值
先通過 keySet 方法, 獲取 Map 集合的全部鍵的 Set 集合。
遍歷鍵的 Set 集合,然后通過鍵提取對應(yīng)值。
鍵找值涉及到的 API:
keySet() 獲取所有鍵的集合
get(Object key) 根據(jù)鍵獲取值
演示代碼
public static void main(String[] args) { Map<String, Integer> maps = new HashMap<>(); maps.put("華為", 10); maps.put("小米", 5); maps.put("iPhone", 6); maps.put("生活用品", 15); maps.put("java", 20); maps.put("python", 17); // 拿到全部集合的全部鍵 Set<String> keys = maps.keySet(); // 遍歷鍵, 根據(jù)鍵獲取值 for (String key: keys) { int value = maps.get(key); System.out.println(key + "--->" +value); } }
Map 集合的遍歷方式二: 鍵值對
先通過 entrySet 方法把 Map 集合轉(zhuǎn)換成 Set 集合,Set 集合中每個元素都是鍵值對實體類型了(將鍵和值看成一個整體)。
遍歷獲取到的 Set 集合,然后通過 getKey 提取鍵, 以及 getValue 提取值。
鍵值對設(shè)計到的 API:
Set<Map.Entry<K,V>> entrySet() 獲取所有鍵值對對象的集合
getKey() 獲得鍵
getValue() 獲取值
演示代碼
public static void main(String[] args) { Map<String, Integer> maps = new HashMap<>(); maps.put("華為", 10); maps.put("小米", 5); maps.put("iPhone", 6); maps.put("生活用品", 15); maps.put("java", 20); maps.put("python", 17); // 把Map集合轉(zhuǎn)成Set集合 Set<Map.Entry<String, Integer>> newMaps = maps.entrySet(); // 遍歷轉(zhuǎn)成的Set集合 for (Map.Entry<String, Integer> newMap : newMaps) { String key = newMap.getKey(); // 獲取key Integer value = newMap.getValue(); // 獲取value System.out.println(key + "--->" + value); } }
Map 集合的遍歷方式三: Lambda
得益于 JDK 8 開始的新技術(shù) Lambda 表達(dá)式,提供了一種更簡單、更直接的遍歷集合的方式。
Map 結(jié)合 Lambda 遍歷的 API:
forEach(BiConsumer<? super K, ? super V> action) 結(jié)合 lambda 遍歷 Map 集合
演示代碼
public static void main(String[] args) { Map<String, Integer> maps = new HashMap<>(); maps.put("華為", 10); maps.put("小米", 5); maps.put("iPhone", 6); maps.put("生活用品", 15); maps.put("java", 20); maps.put("python", 17); // 使用forEach方法遍歷對象 maps.forEach(new BiConsumer<String, Integer>() { @Override public void accept(String key, Integer value) { System.out.println(key + "--->" + value); } }); }
結(jié)合 Lambda 簡化代碼
public static void main(String[] args) { Map<String, Integer> maps = new HashMap<>(); maps.put("華為", 10); maps.put("小米", 5); maps.put("iPhone", 6); maps.put("生活用品", 15); maps.put("java", 20); maps.put("python", 17); // 使用forEach方法集合Lambda表達(dá)式遍歷對象 maps.forEach((key, value) -> System.out.println(key + "--->" + value)); }
到此這篇關(guān)于Java 中 Map 集合的三種遍歷方式的文章就介紹到這了,更多相關(guān)Java 中 Map 集合遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在SSM框架中將圖片上傳到數(shù)據(jù)庫中的實現(xiàn)代碼
這篇文章主要介紹了在SSM框架中將圖片上傳到數(shù)據(jù)庫中的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03springboot集成redis哨兵集群的實現(xiàn)示例
本文主要介紹了springboot集成redis哨兵集群的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08mybatis-plus 實現(xiàn)分頁查詢的示例代碼
本文介紹了在MyBatis-Plus中實現(xiàn)分頁查詢,包括引入依賴、配置分頁插件、使用分頁查詢以及在控制器中調(diào)用分頁查詢的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11Java實現(xiàn)IP地址到二進制的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)IP地址到二進制的轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11