מעבר באמצעות entrySet()
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 18 מתוך 59.
איטרציה באמצעות entrySet() פירושה קבלת קבוצה של אובייקטים מסוג Map.Entry מתוך HashMap. כל Map.Entry מספק גם את המפתח וגם את הערך התואם לו, מה שהופך את הפעולה ליעילה יותר, מכיוון שהיא מונעת את החיפוש הנוסף הנדרש עם keySet().
יוצרים HashMap:
HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);בצעו איטרציה באמצעות entrySet():
for (Map.Entry<String, Integer> entry : inventory.entrySet()) {
System.out.println("Product: " +
entry.getKey() + ", Quantity: " +
entry.getValue());
}
// Product: Laptop, Quantity: 10
// Product: Mouse, Quantity: 50
// Product: Keyboard, Quantity: 30אתגר
קלצרו מתודה בשם <strong>printInventoryEntrySet</strong> שמקבלת HashMap (שבו שמות המוצרים הם המפתחות והכמויות הן הערכים) ממחרוזת JSON שנקראה באמצעות Scanner. המתודה צריכה לעבור על ה-HashMap באמצעות המתודה entrySet() ולהדפיס כל זוג מפתח-ערך בתבנית:
Product: <product name>, Quantity: <quantity>נסו בעצמכם
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static void printInventoryEntrySet(HashMap<String, Integer> inventory) {
// כתבו כאן את הקוד שלכם באמצעות entrySet()
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String inventoryString = scanner.nextLine();
// המירו מחרוזת JSON ל-HashMap<String, Integer>
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);
printInventoryEntrySet(inventory);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים3HashMap חלק 2
מתודות של HashMapמעבר באמצעות keySet()מעבר באמצעות entrySet()HashMap מקונןסיכום – ניהול מחסןסיכום – פעולות HashMapתרגלו בעצמכם: קומפיילר Java אונליין