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-03
springboot集成redis哨兵集群的實現(xiàn)示例
本文主要介紹了springboot集成redis哨兵集群的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
mybatis-plus 實現(xiàn)分頁查詢的示例代碼
本文介紹了在MyBatis-Plus中實現(xiàn)分頁查詢,包括引入依賴、配置分頁插件、使用分頁查詢以及在控制器中調(diào)用分頁查詢的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
Java實現(xiàn)IP地址到二進(jìn)制的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)IP地址到二進(jìn)制的轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11

