Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص - HashMap

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 15 من 59.

challenge icon

التحدي

سهل

قم بإنشاء طريقة (method) باسم 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();

        // تحويل سلسلة HashMap إلى HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // تحويل سلسلة Array إلى Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

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

جميع دروس Logic & Flow