מעבר באמצעות keySet()
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 17 מתוך 59.
מעבר באמצעות keySet() פירושו קבלת קבוצה של כל המפתחות ב-HashMap ואז שימוש בשיטה get() כדי לאחזר את הערכים המתאימים. זה פשוט ועובד היטב עבור מפות קטנות.
ראשית, צרו מפת HashMap של מוצרים:
HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);עכשיו, עוברים בלולאה באמצעות keySet():
for (String product : inventory.keySet()) {
int quantity = inventory.get(product);
System.out.println("Product: " +
product + ", Quantity: " + quantity);
}
// Product: Laptop, Quantity: 10
// Product: Mouse, Quantity: 50
// Product: Keyboard, Quantity: 30אתגר
קלצרו מתודה בשם printInventoryKeySet שמקבלת HashMap (שבו המפתחות הם שמות מוצרים והערכים הם כמויות) ממחרוזת JSON שנקראת באמצעות Scanner. המתודה שלכם צריכה לעבור על ה-HashMap באמצעות המתודה keySet() ולהדפיס כל זוג מפתח-ערך בפורמט:
Product: <product name>, Quantity: <quantity>נסו בעצמכם
import java.util.HashMap;
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 printInventoryKeySet(HashMap<String, Integer> inventory) {
// כתבו כאן את הקוד שלכם באמצעות keySet()
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// קראו מחרוזת JSON מהקלט שמייצגת את ה-HashMap של המלאי
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);
printInventoryKeySet(inventory);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים3HashMap חלק 2
מתודות של HashMapמעבר באמצעות keySet()מעבר באמצעות entrySet()HashMap מקונןסיכום – ניהול מחסןסיכום – פעולות HashMapתרגלו בעצמכם: קומפיילר Java אונליין