Menu
Coddy logo textTech

בדיקה אם מפתח קיים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 13 מתוך 59.

המתודה containsKey(key) בודקת אם מפתח מסוים קיים ב-HashMap. היא מחזירה true או false.

לדוגמה, קודם נמלא HashMap:

HashMap<String, Integer> scores = new HashMap<>();
scores.put("Alice", 95);

ועכשיו נוכל לבדוק אם מפתח קיים:

boolean exists1 = scores.containsKey("Alice");
// הערך של exists1 הוא כעת true
boolean exists2 = scores.containsKey("Bob");
// הערך של exists2 הוא כעת false
challenge icon

אתגר

קל

צרו מתודה בשם keyChecker שמקבלת שני ארגומנטים:

  1. HashMap בשם randomValues, שבו המפתחות הם מחרוזות אקראיות והערכים הם מספרים שלמים אקראיים.
  2. מערך keys שמייצג מפתחות מחרוזתיים.

המתודה צריכה להחזיר את מספר המפתחות מתוך keys שקיימים ב-HashMap

נסו בעצמכם

// --- מודולים להמרת מחרוזת של hashmap ל-hashmap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static int keyChecker(HashMap<String, Integer> randomValues, String[] keys) {
        // כתבו את הקוד שלכם למטה
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String arrayString = scanner.nextLine();

        // המירו String של HashMap ל-HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> randomValues = new Gson().fromJson(hashMapString, mapType);

        // המירו String של Array ל-Array
        String[] keys = new Gson().fromJson(arrayString, String[].class);

        int result = keyChecker(randomValues, keys);
        System.out.println(result);
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Java אונליין