Menu
CoddyTech

ملخص - 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();

        // حوّل سلسلة نصية تمثل 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));
    }
}

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Java عبر الإنترنت