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。
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迴圈遍歷。
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循環,遍歷出所有k、v,理論上推薦這種方法,尤其是容量較大的時候。
以上是Java中遍歷Map的方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!