ملخص - HashMap
جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 15 من 59.
التحدي
سهلأنشئ طريقة باسم 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 قيمةً له
- إذا كان المفتاح موجودًا وكانت قيمته الحالية تساوي 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));
}
}
جميع دروس المنطق وتدفق التنفيذ
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكمتدرّب بنفسك: مترجم Java عبر الإنترنت