溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java 實現(xiàn)遍歷Map的方法有哪些

發(fā)布時間:2020-10-26 16:16:54 來源:億速云 閱讀:157 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了java 實現(xiàn)遍歷Map的方法有哪些,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、迭代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其實是遍歷了2次,一次是轉(zhuǎn)為Iterator對象,另一次是從hashMap中取出key所對應(yīng)的value;

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

  說明:

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

二、只迭代key

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

三、只迭代value

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

上述內(nèi)容就是java 實現(xiàn)遍歷Map的方法有哪些,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI