Java中Map循環(huán)遍歷的五種方法實現(xiàn)
因為Map比較常用,所以今天來總結下Map取值比較常用的幾種遍歷方法。
1、創(chuàng)建一個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; ? ? } }
這個Enum作為Map的value。
2、開始遍歷
方法一
Set set = map.keySet(); for (Object o : set) { System.out.println(o+""+map.get(o)); }
通過key的set集合進行遍歷,然后通過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,理論上推薦這種方法,尤其是容量較大的時候。
到此這篇關于Java中Map循環(huán)遍歷的五種方法的文章就介紹到這了,更多相關Java Map循環(huán)遍歷內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!