logo

כיצד לחזור על מפה ב-Java

ב-Java, איטרציה על מפה יכולה להיעשות בדרכים שונות. זכור שאיננו יכולים לחזור על המפה ישירות באמצעות איטרטורים , כי ממשק מפה אינו חלק מאוסף. כל המפות ב-Java מיישמות מַפָּה מִמְשָׁק. ישנם סוגי מפות הבאים ב-Java:

  • מפת גיבוב
  • מפת עץ
  • LinkedHashMap

מפה היא לא אוסף, אבל עדיין, שקול תחת מסגרת האוספים. לפיכך, מפה היא ממשק שאינו מרחיב את ממשק האוספים.

איטרטור

איטרטור הוא ממשק המשמש לאיטטרציה על גבי אוסף. זה תופס את המקום של ספירה במסגרת Java Collections Framework. ההבדל בין איטרטור לספירה הוא:

  • האיטרטור יכול לחצות אלמנטים מדור קודם ולא מדור קודם ואילו ספירה יכולה לעבור רק אלמנטים מדור קודם.
  • Iterator הוא כשל מהיר ואילו ספירה אינה כשל מהיר.

צפיות באוסף

שיטת תצוגות האוסף מאפשרת להציג מפה כאוסף בדרכים הבאות:

    סט מפתחות:זוהי קבוצת המפתחות הכלולה במפה.ערכים:זהו אוסף הערכים הכלול במפה.entrySet:זוהי קבוצה של צמד מפתח-ערך במפה.

לממשק המפה יש גם ממשק מקונן קטן שנקרא מפה.כניסה . תצוגת האיסוף מספקת את האמצעי היחיד לחזור על מפה.

שיטות מתמטיות בג'אווה

שימוש בממשק איטרטור

דוגמה לאיטרציה מעל 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)); } } } 

תְפוּקָה:

 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 

שימוש בשיטת keyset() ו-value().

סט מפתחות(): א סט מפתחות() שיטה של מפת גיבוב class משמשת לאיטרציה על המפתחות הכלולים במפה. זה מחזיר את תצוגת הסט של המקשים.

תחביר

 Set keyset() 

ערכים(): א ערכים() שיטה של מפת גיבוב class משמשת לאיטרציה על הערכים הכלולים במפה. זה מחזיר תצוגת אוסף של הערכים.

js מוגדר

תחביר

 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.entrymethod

Map.Entry הוא ממשק. הוא מחזיר תצוגת אוסף של המפה, שהרכיבים שלה הם מהמחלקה הזו.

שיטה map.entrySet() מחזירה תצוגת Set של המיפוי הכלול במפה. השינויים במפה משתקפים גם בסט ולהיפך. זה גם תומך בהסרת אלמנטים, מה שמסיר את המיפוי המתאים מהמפה.

שוויון אובייקט ב-Java

תחביר

 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()); } } } 

תְפוּקָה:

שיעור מתמטיקה ב-Java
 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); } } } 

תְפוּקָה:

לולאת תוכנית java
 Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh 

שימוש בשיטת forEach()

ה לכל אחד() שיטה של רשימת מערך משמש לביצוע פעולה עבור כל רכיב של ה-Iterable עד שכל הרכיבים עברו עיבוד.

תחביר

 public void forEach(Consumer action) 

השיטה נוקטת פעולה (הפעולה שיש לבצע עבור כל אלמנט) כפרמטר. זה לא מחזיר כלום. זה זורק NullPointerException אם הפעולה שצוינה היא null.

דוגמא

בדוגמה הבאה, אנו משתמשים בביטוי 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