Menu
Coddy logo textTech

סיכום - HashMap

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

challenge icon

אתגר

קל

צור מתודה בשם processHashMap שמקבלת HashMap<String, Integer> ומערך של פעולות מסוג String, ואז מבצעת את הפעולות הבאות:

1. פעולת GET

  • תבנית: "GET key"
  • פעולה:
    • אם המפתח קיים: הדפס את הערך
    • אם המפתח לא קיים: הדפס "Not found"

2. פעולת CHECK

  • תבנית: "CHECK key"
  • פעולה:
    • אם המפתח קיים: הדפס "Exists"
    • אם המפתח לא קיים: הדפס "Not found"

3. פעולת MODIFY

  • תבנית: "MODIFY key targetValue"
  • פעולה:
    • אם המפתח קיים וגם הערך הנוכחי שלו שווה ל-targetValue: השתמש ב-replace() כדי לעדכן את הערך ל-targetValue + 1
    • אם המפתח קיים אבל הערך הנוכחי שלו שונה מ-targetValue: השתמש ב-remove() כדי למחוק את המפתח
    • אם המפתח לא קיים: השתמש ב-put() כדי להוסיף אותו כשהערך שלו הוא targetValue
  • הערה: אין להדפיס דבר במהלך פעולות MODIFY

פלט סופי:

לאחר עיבוד כל הפעולות, המתודה צריכה להחזיר את ה-HashMap שהשתנה. המתודה main תדפיס אותו בפורמט JSON.

נסו בעצמכם

// --- מודולים להמרת מחרוזת של 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 HashMap<String, Integer> processHashMap(HashMap<String, Integer> data, String[] operations) {
        // כתבו את הקוד שלכם כאן
    }

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

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

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

        HashMap<String, Integer> result = processHashMap(data, operations);
        System.out.println(new Gson().toJson(result));
    }
}

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

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