ক্রমটি সর্বদা নির্দিষ্ট মানচিত্রের প্রয়োগের উপর নির্ভর করবে। জাভা 8 ব্যবহার করে আপনি এর যে কোনও একটি ব্যবহার করতে পারেন:
map.forEach((k,v) -> { System.out.println(k + ":" + v); });
বা:
map.entrySet().forEach((e) -> {
System.out.println(e.getKey() + " : " + e.getValue());
});
ফলাফল একই (একই আদেশ) হবে। এন্ট্রিসেটটি মানচিত্রে সমর্থনযুক্ত যাতে আপনি একই আদেশ পেয়ে থাকেন। দ্বিতীয়টি কার্যকর যেমন এটি আপনাকে ল্যাম্বডাস ব্যবহারের অনুমতি দেয়, উদাহরণস্বরূপ আপনি যদি কেবলমাত্র 5 টির চেয়ে বেশি পূর্ণসংখ্যা অবজেক্টগুলি মুদ্রণ করতে চান তবে:
map.entrySet()
.stream()
.filter(e-> e.getValue() > 5)
.forEach(System.out::println);
নীচের কোডটি লিঙ্কডহ্যাশম্যাপ এবং সাধারণ হ্যাশম্যাপ (উদাহরণ) এর মাধ্যমে পুনরাবৃত্তি দেখায়। আপনি ক্রমের মধ্যে পার্থক্য দেখতে পাবেন:
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,