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

java 遍歷Map的幾種方法總結(jié)

 更新時(shí)間:2020年10月22日 10:05:18   作者:Marydon  
這篇文章主要介紹了java 遍歷Map的四種方法,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下

一、迭代key&value

第一種方式:迭代entrySet

1.方法一

/**
 * entrySet集合for-each循環(huán)(推薦使用)
 * 這種方式必須聲明泛型類型:
 * a.bizData使用Map接收必須得聲明泛型;b.for-each()里的Entry的泛型控制可有可無
 * Map的泛型控制通常使用<String,Object>
 */
Map<String, Object> bizData = dataBus.getBizData();
for (Entry<String, Object> entry : bizData.entrySet()) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
} 

2.方法二

/**
 * entrySet集合迭代
 */
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Entry<String, Object> entry = iterator.next();
    System.out.println(entry.getKey() + "=" + entry.getValue()); 
}

第二種方式:迭代keySet

3.方法三

/**
 * keySet集合迭代
 */
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
  //獲取鍵
  String key = iterator.next().toString();//或String key = (String)iterator.next();
  //根據(jù)鍵獲取值
  Object value = map.get(key);
  System.out.println("鍵:"+ key + ",值:" + value);
}

4.方法四

/**
 * keySet集合for-each循環(huán)
 */
for (String key:map.keySet()) {
  System.out.println(key + "=" + map.get(key));
}

5.小結(jié)

  注意:

    遍歷Map類集合KV,推薦使用entrySet而不是keySet

  原因:

    keySet其實(shí)是遍歷了2次,一次是轉(zhuǎn)為Iterator對(duì)象,另一次是從hashMap中取出key所對(duì)應(yīng)的value;

    而entrySet只是遍歷了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。

  說明:

    values()返回的是V值集合,是一個(gè)list集合對(duì)象;keySet()返回的是K值集合,是一個(gè)Set集合對(duì)象;entrySet()返回的是K-V值組合集合。

二、只迭代key

//只遍歷鍵
for (String key:map.keySet()) {
  System.out.println(key);
}

三、只迭代value

//只遍歷值
for (Object val:map.values()) {
  System.out.println(val);
} 

以上就是java 遍歷Map的幾種方法總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于java 遍歷Map的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring boot + mybatis + Vue.js + ElementUI 實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例代碼(二)

    Spring boot + mybatis + Vue.js 

    這篇文章主要介紹了Spring boot + mybatis + Vue.js + ElementUI 實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例代碼(二),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-05-05
  • java 圖片與base64相互轉(zhuǎn)化的示例

    java 圖片與base64相互轉(zhuǎn)化的示例

    這篇文章主要介紹了java 圖片與base64相互轉(zhuǎn)化的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • Java外觀模式解讀,讓你的代碼優(yōu)雅又高效

    Java外觀模式解讀,讓你的代碼優(yōu)雅又高效

    外觀模式(Facade?Pattern)是一種常用的結(jié)構(gòu)型設(shè)計(jì)模式,它為復(fù)雜的子系統(tǒng)提供一個(gè)簡(jiǎn)單的接口,隱藏復(fù)雜的實(shí)現(xiàn)細(xì)節(jié),本文就來講講它是如何簡(jiǎn)化代碼,提高可維護(hù)性的
    2023-05-05
  • MyBatis的?級(jí)映射及延遲加載過程詳解

    MyBatis的?級(jí)映射及延遲加載過程詳解

    這篇文章主要介紹了MyBatis的?級(jí)映射及延遲加載,包括多對(duì)一延時(shí)加載方式及一對(duì)多,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • idea中javaweb的jsp頁面圖片加載不出來問題及解決

    idea中javaweb的jsp頁面圖片加載不出來問題及解決

    這篇文章主要介紹了idea中javaweb的jsp頁面圖片加載不出來問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • SpringAOP實(shí)現(xiàn)登錄驗(yàn)證的操作代碼

    SpringAOP實(shí)現(xiàn)登錄驗(yàn)證的操作代碼

    這篇文章主要介紹了SpringAOP實(shí)現(xiàn)登錄驗(yàn)證功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • C# log4net使用案例詳解

    C# log4net使用案例詳解

    這篇文章主要介紹了C# log4net使用案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 一文帶你掌握Spring Security框架的使用

    一文帶你掌握Spring Security框架的使用

    Spring Security是一款基于Spring框架的認(rèn)證和授權(quán)框架,提供了一系列控制訪問和保護(hù)應(yīng)用程序的功能,本文將會(huì)對(duì)Spring Security框架進(jìn)行全面詳細(xì)的講解,需要的可以參考下
    2023-05-05
  • HTTP 415錯(cuò)誤-Unsupported media type詳解

    HTTP 415錯(cuò)誤-Unsupported media type詳解

    這篇文章主要介紹了HTTP 415錯(cuò)誤-Unsupported media type詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java實(shí)現(xiàn)四連環(huán)棋游戲

    Java實(shí)現(xiàn)四連環(huán)棋游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)四連環(huán)棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10

最新評(píng)論