map集合的4種遍歷方式


這里來總結下Map集合的4種遍歷方式。

先來初始化一個Map。

Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
map.put(4, "c");

第一種遍歷方式:通過【Map.keyset()】使用【foreach】遍歷key和value。

Set<Integer> set = map.keySet(); // 得到所有key的集合
for (Integer key : set) {
    String value = map.get(key);
    System.out.println(key + " " + value);
}

也可以簡寫為(省略變量):

for (Integer key : map.keyset()) {
    String value = map.get(key);
    System.out.println(key + " " + value);
}

第二種遍歷方式:通過【Map.entrySet()】使用【iterator】遍歷key和value。

Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry<Integer, String> entry = it.next();
    System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}

第三種遍歷方式:通過【Map.entrySet()】使用【foreach】遍歷key和value。

for (Map.Entry<Integer, String> entry : map.entrySet()) {
    // Map.entry<Integer, String> 映射項(鍵-值對) 有幾個方法:用上面的名字entry
    // entry.getKey() ;entry.getValue(); entry.setValue();
    // map.entrySet() 返回此映射中包含的映射關系的 Set視圖。
    System.out.println("key= " + entry.getKey() + " and value= "
+ entry.getValue());
}

這種遍歷方式據說性能最好,尤其是數據量大的場景下。

第四種遍歷方式:通過【Map.values()】使用【foreach】遍歷value。

for (String v : map.values()) {
    System.out.println("value= " + v);
}

但是這種方式不能遍歷key,只能在不需要遍歷key的場景下使用。

 

"時間的絕情之處是,它讓你熬到真相,卻不給你任何補償。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM