Map的5種遍歷方式


Map的5種遍歷方式

 

Map<String, String> map = new HashMap<String, String>();
map.put("bors", "博士");
map.put("bear2", "熊二");

 

1.entrySet遍歷(牆裂推薦!!!)

for (Map.Entry<String, String> entry : map.entrySet()) {
    String k = entry.getKey();
    String v = entry.getValue();
    System.out.println(k + " : " + v);
}

 

2.在for循環中遍歷key或者value,一般適用於只需要map中的key或者value時使用,在性能上比使用entrySet較好

//key
for (String key : map.keySet()) {
    System.out.println(key);
}
//value
for (String value : map.values()) {
    System.out.println(value);
}

 

3.通過Iterator遍歷

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

 

4.通過鍵找值遍歷,這種方式的效率比較低,因為本身從鍵取值是耗時的操作

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

 

5.java8 Lambda, 性能低於entrySet,所以更推薦用entrySet的方式

map.forEach((k, v) -> { System.out.println(k + " : " + v); });

 






 


免責聲明!

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



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