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

Java中hashMap遍歷的9種方式

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

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

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

HashMap的遍歷方式

第一種,遍歷HashMap的entrySet鍵值對集合,通過HashMap.entrySet()得到鍵值對集合,通過迭代器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集合,通過HashMap.keySet()得到key集合,通過迭代器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集合,通過HashMap.valus()得到value集合,通過迭代器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鍵值對集合,通過HashMap.entrySet()得到鍵值對集合,通過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集合,通過HashMap.keySet()得到key集合,通過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集合,通過HashMap.valus()得到value集合,通過for循環(huán)遍歷集合得到key和value。

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

第七種,通過Lambda遍歷HashMap得到key和value

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

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

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

第九種,通過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ù)具體需求選用不同的方式,通過Iterator方式循環(huán)刪除數(shù)據(jù)是安全的,for方式循環(huán)刪除數(shù)據(jù)非安全,Lambda方式循環(huán)刪除數(shù)據(jù)非安全,通過Iterator方式的效率也很高。

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

相關(guān)文章

  • 利用idea搭建SSM項目看這一篇就夠了

    利用idea搭建SSM項目看這一篇就夠了

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

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

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

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

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

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

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

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

    這篇文章主要介紹了SpringBoot創(chuàng)建自定義starter詳解,Starter是Spring Boot中的一個非常重要的概念,Starter相當(dāng)于模塊,它能將模塊所需的依賴整合起來并對模塊內(nèi)的Bean根據(jù)環(huán)境(條件)進(jìn)行自動配置,需要的朋友可以參考下
    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ì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 單例模式垃圾回收_動力節(jié)點(diǎn)Java學(xué)院整理

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

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

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

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

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

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

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

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

最新評論