आदेश हमेशा विशिष्ट मानचित्र कार्यान्वयन पर निर्भर करेगा। जावा 8 का उपयोग करके आप इनमें से किसी का भी उपयोग कर सकते हैं:
map.forEach((k,v) -> { System.out.println(k + ":" + v); });
या:
map.entrySet().forEach((e) -> {
System.out.println(e.getKey() + " : " + e.getValue());
});
परिणाम समान (समान क्रम) होगा। एंट्रीसेट मैप द्वारा समर्थित है तो आपको वही ऑर्डर मिल रहा है। दूसरा एक काम है क्योंकि यह आपको लैम्ब्डा का उपयोग करने की अनुमति देता है, उदाहरण के लिए यदि आप केवल केवल पूर्णांक वस्तुओं को प्रिंट करना चाहते हैं जो आपके पास हैं:
map.entrySet()
.stream()
.filter(e-> e.getValue() > 5)
.forEach(System.out::println);
नीचे दिए गए कोड LinkedHashMap और सामान्य HashMap (उदाहरण) के माध्यम से पुनरावृति दिखाता है। आपको क्रम में अंतर दिखाई देगा:
public class HMIteration {
public static void main(String[] args) {
Map<Object, Object> linkedHashMap = new LinkedHashMap<>();
Map<Object, Object> hashMap = new HashMap<>();
for (int i=10; i>=0; i--) {
linkedHashMap.put(i, i);
hashMap.put(i, i);
}
System.out.println("LinkedHashMap (1): ");
linkedHashMap.forEach((k,v) -> { System.out.print(k + " (#="+k.hashCode() + "):" + v + ", "); });
System.out.println("\nLinkedHashMap (2): ");
linkedHashMap.entrySet().forEach((e) -> {
System.out.print(e.getKey() + " : " + e.getValue() + ", ");
});
System.out.println("\n\nHashMap (1): ");
hashMap.forEach((k,v) -> { System.out.print(k + " (#:"+k.hashCode() + "):" + v + ", "); });
System.out.println("\nHashMap (2): ");
hashMap.entrySet().forEach((e) -> {
System.out.print(e.getKey() + " : " + e.getValue() + ", ");
});
}
}
लिंक्डहाशपैप (1):
10 (# = 10): 10, 9 (# = 9): 9, 8 (# = 8): 8, 7 (# = 7): 7, 6 (# = 6): 6, 5 (# = 5) ): 5, 4 (# = 4): 4, 3 (# = 3): 3, 2 (# = 2): 2, 1 (# = 1): 1, 0 (# = 0): 0
लिंक्डहाशपैप (2):
10: 10, 9: 9, 8: 8, 7: 7, 6: 6, 5: 5, 4: 4, 3: 3, 2: 2, 1: 1, 0: 0
हशपप (1):
0 (#: 0): 0, 1 (#: 1): 1, 2 (#: 2): 2, 3 (#: 3): 3, 4 (#: 4): 4, 5 (#: 5) ): 5, 6 (#: 6): 6, 7 (#: 7): 7, 8 (#: 8): 8, 9 (#: 9): 9, 10 (#: 10): 10
हशपप (2):
0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 10: 10,