亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中hashMap遍歷的9種方式

 更新時(shí)間:2024年06月24日 09:15:38   作者:ldcaws  
hashMap是非常重要的容器類,本文主要介紹了Java中hashMap遍歷的9種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在java開(kāi)發(fā)中,hashMap是非常重要的容器類,存儲(chǔ)的是鍵值對(duì)(key,value)。

HashMap繼承AbstractMap,實(shí)現(xiàn)了Map、Cloneable、Serializable接口,非線程安全類,但是效率高。HashMap允許null健和null值,允許value重復(fù),但不允許key重復(fù)。HashMap有兩個(gè)參數(shù)影響其性能,初始容量和加載因子,當(dāng)哈希表中的條目數(shù)超出加載因子與當(dāng)前容量的乘積時(shí),要對(duì)哈希表進(jìn)行refresh操作,重建內(nèi)部數(shù)據(jù)結(jié)構(gòu),容量擴(kuò)大為之前的兩倍,加載因子默認(rèn)值為0.75。

HashMap的遍歷方式

第一種,遍歷HashMap的entrySet鍵值對(duì)集合,通過(guò)HashMap.entrySet()得到鍵值對(duì)集合,通過(guò)迭代器Iterator遍歷集合得到key和value。

public static void main(String[] args) {
        Map<Object, Object> map = new HashMap<>();
        map.put("caocao","11");
        map.put("liubei","22");
        map.put("sunquan","33");
        first(map);

    }

    private static void first(Map<Object, Object> map) {
        Iterator<Map.Entry<Object, Object>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<Object, Object> entry = iterator.next();
            System.out.println("key:" + entry.getKey() + ",vaule:" + entry.getValue());
        }
    }

第二種,遍歷HashMap的keySet集合,通過(guò)HashMap.keySet()得到key集合,通過(guò)迭代器Iterator遍歷集合得到key和value。

private static void second(Map<Object, Object> map) {
        Iterator<Object> iterator = map.keySet().iterator();
        while (iterator.hasNext()) {
            Object key = iterator.next();
            System.out.println("key:" + key + ",vaule:" + map.get(key));
        }
    }

第三種,遍歷HashMap的values集合,通過(guò)HashMap.valus()得到value集合,通過(guò)迭代器Iterator遍歷集合得到key和value。

private static void third(Map<Object, Object> map) {
        Iterator<Object> iterator = map.values().iterator();
        while (iterator.hasNext()) {
            Object value = iterator.next();
            System.out.println("vaule:" + value);
        }
    }

第四種,遍歷HashMap的entrySet鍵值對(duì)集合,通過(guò)HashMap.entrySet()得到鍵值對(duì)集合,通過(guò)for循環(huán)遍歷集合得到key和value。

private static void fourth(Map<Object, Object> map) {
        for (Map.Entry<Object,Object> entry: map.entrySet()) {
            System.out.println("key:" + entry.getKey() + ",vaule:" + entry.getValue());
        }
    }

第五種,遍歷HashMap的keySet集合,通過(guò)HashMap.keySet()得到key集合,通過(guò)for循環(huán)遍歷集合得到key和value。

private static void fifth(Map<Object, Object> map) {
        for(Object key : map.keySet()) {
            System.out.println("key:" + key + ",vaule:" + map.get(key));
        }
    }

第六種,遍歷HashMap的values集合,通過(guò)HashMap.valus()得到value集合,通過(guò)for循環(huán)遍歷集合得到key和value。

private static void sixth(Map<Object, Object> map) {
        for (Object value : map.values()) {
            System.out.println("vaule:" + value);
        }
    }

第七種,通過(guò)Lambda遍歷HashMap得到key和value

private static void seventh(Map<Object, Object> map) {
        map.forEach((key,value) -> {
            System.out.println("key:" + key + ",vaule:" + value);
        });
    }

第八種,通過(guò)Lambda遍歷HashMap.entrySet()得到鍵值對(duì)集合得到key和value

private static void eighth(Map<Object, Object> map) {
        map.entrySet().forEach(item -> {
            System.out.println("key:" + item.getKey() + ",vaule:" + item.getValue());
        });
    }

第九種,通過(guò)Lambda遍歷HashMap.keySet()得到key集合得到key和value

private static void ninth(Map<Object, Object> map) {
        map.keySet().forEach(item -> {
            System.out.println("key:" + item + ",vaule:" + map.get(item));
        });
    }

以上遍歷主要Iterator遍歷集合方式、for循環(huán)遍歷集合方式,Lambda遍歷集合方式,根據(jù)具體需求選用不同的方式,通過(guò)Iterator方式循環(huán)刪除數(shù)據(jù)是安全的,for方式循環(huán)刪除數(shù)據(jù)非安全,Lambda方式循環(huán)刪除數(shù)據(jù)非安全,通過(guò)Iterator方式的效率也很高。

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

相關(guān)文章

  • 利用idea搭建SSM項(xiàng)目看這一篇就夠了

    利用idea搭建SSM項(xiàng)目看這一篇就夠了

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個(gè)開(kāi)源框架整合而成(SpringMVC是Spring中的部分內(nèi)容),常作為數(shù)據(jù)源較簡(jiǎn)單的web項(xiàng)目的框架,下面這篇文章主要給大家介紹了關(guān)于利用idea搭建SSM項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • IDEA2023.1.3安裝教程及下載(圖文)

    IDEA2023.1.3安裝教程及下載(圖文)

    最新變化是在IDEA?2023.1中,對(duì)新UI做出了大量改進(jìn),本文主要介紹了IDEA2023.1.3安裝教程及下載,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Java大數(shù)據(jù)開(kāi)發(fā)Hadoop?MapReduce

    Java大數(shù)據(jù)開(kāi)發(fā)Hadoop?MapReduce

    MapReduce的思想核心是“分而治之”,適用于大量復(fù)雜的任務(wù)處理場(chǎng)景(大規(guī)模數(shù)據(jù)處理場(chǎng)景)Map負(fù)責(zé)“分”,即把復(fù)雜的任務(wù)分解為若干個(gè)“簡(jiǎn)單的任務(wù)”來(lái)并行處理。可以進(jìn)行拆分的前提是這些小任務(wù)可以并行計(jì)算,彼此間幾乎沒(méi)有依賴關(guān)系
    2023-03-03
  • 關(guān)于try 和 throw 簡(jiǎn)單使用示例

    關(guān)于try 和 throw 簡(jiǎn)單使用示例

    每過(guò)一段時(shí)間,就總是會(huì)對(duì)try有點(diǎn)生疏,特別寫(xiě)了個(gè)程序來(lái)測(cè)試以下,有時(shí)候 throw是底層拋出來(lái)的,你不處理,默認(rèn)就throw了
    2013-08-08
  • SpringBoot創(chuàng)建自定義starter詳解

    SpringBoot創(chuàng)建自定義starter詳解

    這篇文章主要介紹了SpringBoot創(chuàng)建自定義starter詳解,Starter是Spring Boot中的一個(gè)非常重要的概念,Starter相當(dāng)于模塊,它能將模塊所需的依賴整合起來(lái)并對(duì)模塊內(nèi)的Bean根據(jù)環(huán)境(條件)進(jìn)行自動(dòng)配置,需要的朋友可以參考下
    2024-01-01
  • Spring Cloud Data Flow初體驗(yàn)以Local模式運(yùn)行

    Spring Cloud Data Flow初體驗(yàn)以Local模式運(yùn)行

    這篇文章主要介紹了Spring Cloud Data Flow初體驗(yàn)以Local模式運(yùn)行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 單例模式垃圾回收_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    單例模式垃圾回收_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了單例模式垃圾回收的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 解決JAVA遍歷List集合,刪除數(shù)據(jù)時(shí)出現(xiàn)的問(wèn)題

    解決JAVA遍歷List集合,刪除數(shù)據(jù)時(shí)出現(xiàn)的問(wèn)題

    這篇文章主要介紹了解決JAVA遍歷List集合時(shí),刪除數(shù)據(jù)出現(xiàn)的問(wèn)題,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • SpringBoot項(xiàng)目使用slf4j的MDC日志打點(diǎn)功能(最新推薦)

    SpringBoot項(xiàng)目使用slf4j的MDC日志打點(diǎn)功能(最新推薦)

    這篇文章主要介紹了SpringBoot項(xiàng)目使用slf4j的MDC日志打點(diǎn)功能,本文通過(guò)示例代碼給大家介紹非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Java訪問(wèn)權(quán)限原理與用法詳解

    Java訪問(wèn)權(quán)限原理與用法詳解

    這篇文章主要介紹了Java訪問(wèn)權(quán)限,結(jié)合實(shí)例形式詳細(xì)分析了java構(gòu)造者思想、包、訪問(wèn)修飾符等相關(guān)原理、應(yīng)用與操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02

最新評(píng)論