التحقق من وجود المفتاح
جزء من قسم Logic & Flow في رحلة 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تمثل مفاتيح نصية.
يجب أن تعيد الدالة عدد المفاتيح من الـ <strong>array</strong> الموجودة في الـ HashMap
ورقة مرجعية
تتحقق الطريقة containsKey(key) مما إذا كان مفتاح معين موجوداً في HashMap وتعيد true أو false:
HashMap<String, Integer> scores = new HashMap<>();
scores.put("Alice", 95);
boolean exists1 = scores.containsKey("Alice");
// exists1 هي الآن true
boolean exists2 = scores.containsKey("Bob");
// exists2 هي الآن falseجرّب بنفسك
// --- وحدات لتحويل سلسلة نصية لـ 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();
// تحويل سلسلة نصية لـ HashMap إلى HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> randomValues = new Gson().fromJson(hashMapString, mapType);
// تحويل سلسلة نصية لـ Array إلى Array
String[] keys = new Gson().fromJson(arrayString, String[].class);
int result = keyChecker(randomValues, keys);
System.out.println(result);
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم