欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 中 Map 集合的三種遍歷方式小結(jié)

 更新時(shí)間:2022年12月26日 10:24:41   作者:Java程序V  
這篇文章主要介紹了Java 中 Map 集合的三種遍歷方式,每種遍歷方式結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Map 集合的遍歷方式有 3 種:

方式一:鍵找值的方式遍歷:先獲取 Map 集合全部的鍵,再根據(jù)遍歷鍵找值。

方式二:鍵值對(duì)的方式遍歷,把“鍵值對(duì)“看成一個(gè)整體,難度較大。

方式三:JDK 1.8 開(kāi)始之后的新技術(shù):Lambda 表達(dá)式。

Map 集合的遍歷方式一: 鍵找值

先通過(guò) keySet 方法, 獲取 Map 集合的全部鍵的 Set 集合。

遍歷鍵的 Set 集合,然后通過(guò)鍵提取對(duì)應(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 集合的遍歷方式二: 鍵值對(duì)

先通過(guò) entrySet 方法把 Map 集合轉(zhuǎn)換成 Set 集合,Set 集合中每個(gè)元素都是鍵值對(duì)實(shí)體類型了(將鍵和值看成一個(gè)整體)。

遍歷獲取到的 Set 集合,然后通過(guò) getKey 提取鍵, 以及 getValue 提取值。

鍵值對(duì)設(shè)計(jì)到的 API:

Set<Map.Entry<K,V>> entrySet() 獲取所有鍵值對(duì)對(duì)象的集合

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 開(kāi)始的新技術(shù) Lambda 表達(dá)式,提供了一種更簡(jiǎn)單、更直接的遍歷集合的方式。

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方法遍歷對(duì)象
    maps.forEach(new BiConsumer<String, Integer>() {
        @Override
        public void accept(String key, Integer value) {
            System.out.println(key + "--->" + value);
        }
    });
}

結(jié)合 Lambda 簡(jiǎn)化代碼

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á)式遍歷對(duì)象
    maps.forEach((key, value) -> System.out.println(key + "--->" + value));
}

到此這篇關(guān)于Java 中 Map 集合的三種遍歷方式的文章就介紹到這了,更多相關(guān)Java 中 Map 集合遍歷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java stream中Collectors的用法實(shí)例精講

    java stream中Collectors的用法實(shí)例精講

    這篇文章主要為大家介紹了java stream中Collectors的用法實(shí)例精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 在SSM框架中將圖片上傳到數(shù)據(jù)庫(kù)中的實(shí)現(xiàn)代碼

    在SSM框架中將圖片上傳到數(shù)據(jù)庫(kù)中的實(shí)現(xiàn)代碼

    這篇文章主要介紹了在SSM框架中將圖片上傳到數(shù)據(jù)庫(kù)中的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • JavaWeb實(shí)現(xiàn)壓縮多個(gè)文件并下載實(shí)例詳解

    JavaWeb實(shí)現(xiàn)壓縮多個(gè)文件并下載實(shí)例詳解

    本文通過(guò)實(shí)例代碼給大家講解了javaweb實(shí)現(xiàn)壓縮多個(gè)文件并下載功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-07-07
  • springboot集成redis哨兵集群的實(shí)現(xiàn)示例

    springboot集成redis哨兵集群的實(shí)現(xiàn)示例

    本文主要介紹了springboot集成redis哨兵集群的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 一文詳解SpringBoot3如何自定義starter

    一文詳解SpringBoot3如何自定義starter

    在Spring Boot中,starter是一種特殊的依賴,它可以幫助開(kāi)發(fā)人員快速引入和配置某個(gè)特定的功能模塊,我們?cè)诿嬖囍型ㄟ^(guò)會(huì)被問(wèn)到SpringBoot3如何自定義starter,所以本文小編給大家詳細(xì)介紹了SpringBoot3自定義starter的步驟,需要的朋友可以參考下
    2024-09-09
  • mybatis-plus 實(shí)現(xiàn)分頁(yè)查詢的示例代碼

    mybatis-plus 實(shí)現(xiàn)分頁(yè)查詢的示例代碼

    本文介紹了在MyBatis-Plus中實(shí)現(xiàn)分頁(yè)查詢,包括引入依賴、配置分頁(yè)插件、使用分頁(yè)查詢以及在控制器中調(diào)用分頁(yè)查詢的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Java實(shí)現(xiàn)IP地址到二進(jìn)制的轉(zhuǎn)換

    Java實(shí)現(xiàn)IP地址到二進(jìn)制的轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)IP地址到二進(jìn)制的轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 使用Java進(jìn)行圖像處理的一些基礎(chǔ)操作

    使用Java進(jìn)行圖像處理的一些基礎(chǔ)操作

    這篇文章主要介紹了使用Java進(jìn)行圖像處理的一些基礎(chǔ)操作,就載入和輸出相關(guān)的知識(shí)進(jìn)行了講解,需要的朋友可以參考下
    2015-10-10
  • java定時(shí)任務(wù)的實(shí)現(xiàn)方法

    java定時(shí)任務(wù)的實(shí)現(xiàn)方法

    java定時(shí)任務(wù)的實(shí)現(xiàn)方法,需要的朋友可以參考一下
    2013-03-03
  • 基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像

    基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像

    本文主要介紹了Java圖像處理實(shí)戰(zhàn)之基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)圖像處理有一定的幫助,感興趣的可以試一試
    2022-01-01

最新評(píng)論