logo

كيفية تكرار الخريطة في جافا

في Java، يمكن إجراء التكرار عبر Map بطرق مختلفة. تذكر أنه لا يمكننا التكرار على الخريطة مباشرة باستخدام التكرارات لأن واجهة الخريطة ليست جزءًا من المجموعة. يتم تنفيذ جميع الخرائط في Java خريطة واجهه المستخدم. هناك الأنواع التالية من الخرائط في Java:

  • خريطة التجزئة
  • خريطة الشجرة
  • LinkedHashMap

الخريطة ليست مجموعة ولكن لا تزال تؤخذ في الاعتبار ضمن إطار عمل المجموعات. ومن ثم، فإن الخريطة عبارة عن واجهة لا تعمل على توسيع واجهة المجموعات.

مكرر

المكرِّر عبارة عن واجهة تُستخدم للتكرار عبر مجموعة. يأخذ مكان التعداد في Java Collections Framework. الفرق بين التكرار والتعداد هو:

  • يمكن لـ Iterator اجتياز العناصر القديمة وغير القديمة، بينما يمكن لـ Enumeration اجتياز العناصر القديمة فقط.
  • التكرار سريع الفشل بينما التعداد ليس سريع الفشل.

طرق عرض المجموعة

تتيح طريقة عرض المجموعة إمكانية عرض الخريطة كمجموعة بالطرق التالية:

    مجموعة المفاتيح:إنها مجموعة المفاتيح الموجودة في الخريطة.قيم:إنها مجموعة القيم الموجودة في الخريطة.مجموعة الإدخال:إنها مجموعة من أزواج القيمة الرئيسية في الخريطة.

تحتوي واجهة الخريطة أيضًا على واجهة متداخلة صغيرة تسمى خريطة. دخول . يوفر عرض المجموعة الوسيلة الوحيدة للتكرار على الخريطة.

سجل numpy

استخدام واجهة التكرار

مثال على التكرار على HashMap

 public static void main(String args[]) { HashMap hm = new HashMap(); //implements map interface hm.put(110,'Ravi'); hm.put(120,'Prateek'); hm.put(130, 'Davesh'); hm.put(140, 'Kamal'); hm.put(150, 'Pawan'); Iterator it = hm.keySet().iterator(); //keyset is a method while(it.hasNext()) { int key=(int)it.next(); System.out.println('Roll no.: '+key+' name: '+hm.get(key)); } } } 

انتاج:

تحميل اوتوكاد 2019 انجليزي من ميديا ​​فاير
 Roll no.: 130 name: Davesh Roll no.: 150 name: Pawan Roll no.: 120 name: Prateek Roll no.: 140 name: Kamal Roll no.: 110 name: Ravi 

باستخدام طريقة مجموعة المفاتيح () والقيمة ().

مجموعة المفاتيح (): أ مجموعة المفاتيح () طريقة خريطة التجزئة يتم استخدام الفئة للتكرار على المفاتيح الموجودة في الخريطة. تقوم بإرجاع عرض المجموعة للمفاتيح.

بناء الجملة

 Set keyset() 

قيم(): أ قيم() طريقة خريطة التجزئة يتم استخدام الفئة للتكرار على القيم الموجودة في الخريطة. تقوم بإرجاع عرض مجموعة من القيم.

بناء الجملة

 Collection values() 

مثال

ضرب المصفوفة في ج
 import java.util.Map; import java.util.HashMap; class IterationExample2 { public static void main(String[] arg) { Map map = new HashMap(); map.put('Gujarat', 'Gandhi Nagar'); map.put('Uttar Pradesh', 'Lucknow'); map.put('Sikkim', 'Ganagtok'); for (String State : map.keySet()) //using keyset() method for iteration over keySet System.out.println('State: ' + State); for (String Capital : map.values()) //using values() for iteration over keys System.out.println('Capiatl: ' + Capital); } } 

انتاج:

 State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow 

باستخدام طريقة Map.entry

Map.Entry عبارة عن واجهة. تقوم بإرجاع عرض مجموعة للخريطة، التي تنتمي عناصرها إلى هذه الفئة.

تقوم طريقة Map.entrySet() بإرجاع طريقة عرض Set للتعيين الموجود في الخريطة. تنعكس التغييرات في الخريطة في المجموعة أيضًا والعكس صحيح. كما أنه يدعم إزالة العناصر، مما يؤدي إلى إزالة التعيين المقابل من الخريطة.

بناء الجملة

تعدد الأشكال في جاوة
 Set<map.entry> entrySet() </map.entry>

مثال

 import java.util.*; class IterationExample3 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Cookies&apos;, 90.87f); map.put(&apos;Dry Fruits&apos;, 434.23f); map.put(&apos;Oats&apos;, 220.00f); map.put(&apos;Chocolate&apos;, 70.89f); for (Map.Entry entry : map.entrySet()) //using map.entrySet() for iteration { //returns keys and values respectively System.out.println(&apos;Item: &apos; + entry.getKey() + &apos;, Price: &apos; + entry.getValue()); } } } 

انتاج:

 Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89 

التكرار على المفاتيح والحصول على القيم

مثال

في المثال التالي، نقوم أولاً بالتكرار على المفاتيح ثم الحصول على القيم.

 import java.util.*; class IterationExample4 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Sumit&apos;, &apos;Singh&apos;); map.put(&apos;Devesh&apos;, &apos;Mishra&apos;); map.put(&apos;Rahul&apos;, &apos;Tiwari&apos;); for (String name: map.keySet()) //iteration over keys { //returns the value to which specified key is mapped String lastname=map.get(firstname); System.out.println(&apos;Key: &apos; + name + &apos;, Value: &apos; + lastname); } } } 

انتاج:

 Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh 

باستخدام طريقة forEach ().

ال لكل () طريقة ArrayList يُستخدم لتنفيذ إجراء لكل عنصر من عناصر Iterable حتى تتم معالجة جميع العناصر.

بناء الجملة

 public void forEach(Consumer action) 

تتخذ الطريقة الإجراء (الإجراء الذي سيتم تنفيذه لكل عنصر) كمعلمة. لا يعود أي شيء. يرمي NullPointerException إذا كان الإجراء المحدد فارغًا.

ج# التبديل

مثال

في المثال التالي، نستخدم تعبير lambda داخل طريقة forEach() لطباعة كل عنصر من عناصر الخريطة.

 import java.util.Map; import java.util.HashMap; class IterationExample5 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;TCS&apos;, &apos;0 billion&apos;); map.put(&apos;Wipro&apos;, &apos;.5 billion&apos;); //iteration over map using forEach() method map.forEach((k,v) -&gt; System.out.println(&apos;Company: &apos;+ k + &apos;, Net worth: &apos; + v)); } } 

انتاج:

 Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion