最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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,實現(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)文章

  • Java中的Calendar日歷API用法完全解析

    Java中的Calendar日歷API用法完全解析

    今天特別整理了針對Java中的Calendar日歷API用法完全解析,通過Calendar API我們可以對Calendar所提供的時間日期字段進(jìn)行各種自定義操作,首先還是從Calendar的基礎(chǔ)入手:
    2016-06-06
  • Java中數(shù)組協(xié)變和范型不變性踩坑記錄

    Java中數(shù)組協(xié)變和范型不變性踩坑記錄

    數(shù)組的協(xié)變性來源于數(shù)組的一個優(yōu)勢,這篇文章主要給大家介紹了關(guān)于Java中數(shù)組協(xié)變和范型不變性踩坑的一些內(nèi)容,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 淺談HashMap、HashTable的key和value是否可為null

    淺談HashMap、HashTable的key和value是否可為null

    這篇文章主要介紹了淺談HashMap、HashTable的key和value是否可為null,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 解決出現(xiàn) java.lang.ExceptionInInitializerError錯誤問題

    解決出現(xiàn) java.lang.ExceptionInInitializerError錯誤問題

    這篇文章主要介紹了解決出現(xiàn) java.lang.ExceptionInInitializerError錯誤問題的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Java多線程程序中synchronized修飾方法的使用實例

    Java多線程程序中synchronized修飾方法的使用實例

    synchronized關(guān)鍵字主要北用來進(jìn)行線程同步,這里我們主要來演示Java多線程程序中synchronized修飾方法的使用實例,需要的朋友可以參考下:
    2016-06-06
  • Java運(yùn)算符>、>>、>>>三者的區(qū)別

    Java運(yùn)算符>、>>、>>>三者的區(qū)別

    這篇文章主要介紹了Java運(yùn)算符>、>>、>>>三者的區(qū)別,做了一個簡單的對比,并用實例說明,需要的朋友可以參考下
    2014-06-06
  • 詳解Spring-Cloud2.0之Feign調(diào)用遠(yuǎn)程服務(wù)指南

    詳解Spring-Cloud2.0之Feign調(diào)用遠(yuǎn)程服務(wù)指南

    這篇文章主要介紹了詳解Spring-Cloud2.0之Feign調(diào)用遠(yuǎn)程服務(wù)指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • mybatis中<if>標(biāo)簽bool值類型為false判斷方法

    mybatis中<if>標(biāo)簽bool值類型為false判斷方法

    這篇文章主要給大家介紹了關(guān)于mybatis中<if>標(biāo)簽bool值類型為false判斷方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java接口統(tǒng)一樣式返回模板簡介

    Java接口統(tǒng)一樣式返回模板簡介

    這篇文章主要介紹了Java接口統(tǒng)一樣式返回模板簡介,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • java 中mongodb的各種操作查詢的實例詳解

    java 中mongodb的各種操作查詢的實例詳解

    這篇文章主要介紹了java 中mongodb的各種操作查詢的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09

最新評論

亳州市| 叶城县| 夏河县| 隆化县| 高唐县| 康马县| 吉林市| 玉门市| 上犹县| 遵化市| 尼勒克县| 伊通| 大田县| 冕宁县| 抚顺县| 类乌齐县| 东乡| 平武县| 沁源县| 罗甸县| 盐池县| 武冈市| 拉萨市| 梨树县| 兴文县| 外汇| 小金县| 内江市| 十堰市| 舒兰市| 南安市| 洪江市| 长泰县| 琼中| 合肥市| 攀枝花市| 灌云县| 南充市| 稷山县| 仲巴县| 瑞昌市|