בדיקה אם מפתח קיים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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אתגר
קלצרו מתודה בשם keyChecker שמקבלת שני ארגומנטים:
HashMapבשםrandomValues, שבו המפתחות הם מחרוזות אקראיות והערכים הם מספרים שלמים אקראיים.- מערך
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);
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכיםתרגלו בעצמכם: קומפיילר Java אונליין