Java中Map循環(huán)遍歷的五種方法實(shí)現(xiàn)
因?yàn)镸ap比較常用,所以今天來總結(jié)下Map取值比較常用的幾種遍歷方法。
1、創(chuàng)建一個(gè)Enum
public enum FactoryStatus {
? ? BAD(0,"ou"),
? ? GOOD(1,"yeah");
? ? private int status;
? ? private String description;
? ? FactoryStatus(int status, String description){
? ? ? ? this.status=status;
? ? ? ? this.description=description;
? ? }
? ? public int getStatus() {
? ? ? ? return status;
? ? }
? ? public String getDescription(){
? ? ? ? return description;
? ? }
}這個(gè)Enum作為Map的value。
2、開始遍歷
方法一
Set set = map.keySet();
for (Object o : set) {
System.out.println(o+""+map.get(o));
}
通過key的set集合進(jìn)行遍歷,然后通過key來取map的value,此方法用的比較多。
方法二
Set set = map.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println("key為:"+next+",value為:"+map.get(next));
}
將key的set集合以迭代器的方式遍歷出來,然后通過key來取map的value。
方法三
Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
Iterator<Map.Entry<String, FactoryStatus>> iterator1 = entries.iterator();
while (iterator1.hasNext()){
Map.Entry<String, FactoryStatus> next = iterator1.next();
System.out.println("方法三的key為:"+next.getKey()+",value為:"+next.getValue());
}
將Map的鍵值對以迭代器的方式遍歷出來,然后通過.getKey()與.getValue()方法取k、v的值。
方法四
Collection<FactoryStatus> values = map.values();
for (FactoryStatus value : values) {
System.out.println("方法四的value為:"+value);
}
此方法直接取出map的value并放在collection中,然后將v循環(huán)遍歷。
方法五
Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
for (Map.Entry<String, FactoryStatus> entry : entries) {
System.out.println("方法五的key為:"+entry.getKey()+",value為:"+entry.getValue());
}
取得所有鍵值對來通過foreach循環(huán),遍歷出所有k、v,理論上推薦這種方法,尤其是容量較大的時(shí)候。
到此這篇關(guān)于Java中Map循環(huán)遍歷的五種方法的文章就介紹到這了,更多相關(guān)Java Map循環(huán)遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
原生java代碼實(shí)現(xiàn)碼云第三方驗(yàn)證登錄的示例代碼
這篇文章主要介紹了原生java代碼實(shí)現(xiàn)碼云第三方驗(yàn)證登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
java解析php函數(shù)json_encode unicode 編碼問題
這篇文章主要介紹了java解析php函數(shù)json_encode unicode 編碼問題,需要的朋友可以參考下2016-04-04
SpringCloud 搭建企業(yè)級開發(fā)框架之實(shí)現(xiàn)多租戶多平臺短信通知服務(wù)(微服務(wù)實(shí)戰(zhàn))
這篇文章主要介紹了SpringCloud 搭建企業(yè)級開發(fā)框架之實(shí)現(xiàn)多租戶多平臺短信通知服務(wù),系統(tǒng)可以支持多家云平臺提供的短信服務(wù)。這里以阿里云和騰訊云為例,集成短信通知服務(wù),需要的朋友可以參考下2021-11-11
使用Spring事件監(jiān)聽機(jī)制實(shí)現(xiàn)跨模塊調(diào)用的步驟詳解
Spring 事件監(jiān)聽機(jī)制是 Spring 框架中用于在應(yīng)用程序的不同組件之間進(jìn)行通信的一種機(jī)制,Spring 事件監(jiān)聽機(jī)制基于觀察者設(shè)計(jì)模式,使得應(yīng)用程序的各個(gè)部分可以解耦,提高模塊化和可維護(hù)性,本文給大家介紹了使用Spring事件監(jiān)聽機(jī)制實(shí)現(xiàn)跨模塊調(diào)用,需要的朋友可以參考下2024-06-06
SpringMVC+Mybatis實(shí)現(xiàn)的Mysql分頁數(shù)據(jù)查詢的示例
本篇文章主要介紹了SpringMVC+Mybatis實(shí)現(xiàn)的Mysql分頁數(shù)據(jù)查詢的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08

