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

دوال HashMap

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

توفر HashMap العديد من الطرق المفيدة للعمليات الشائعة. إليك بعضاً من أهمها:

  • isEmpty(): يتحقق مما إذا كان HashMap فارغاً. يعيد true إذا لم يكن يحتوي على أي تعيينات مفتاح-قيمة، و false بخلاف ذلك.
  • size(): يعيد عدد ارتباطات المفتاح والقيمة في HashMap.
  • clear(): يزيل جميع التعيينات من HashMap. ستكون الخريطة فارغة بعد عودة هذا الاستدعاء.

على سبيل المثال، لنقم أولاً بإنشاء HashMap:

HashMap<String, Integer> scores = new HashMap<>();

للتحقق مما إذا كان الـ HashMap فارغاً:

System.out.println(scores.isEmpty());
// المخرجات: true

إذا قمنا بإضافة عنصر:

scores.put("Coddy", 100);
System.out.println(scores.isEmpty());
// النتيجة: false

تُرجع الطريقة size() عدد أزواج المفتاح والقيمة في الـ HashMap.

System.out.println(scores.size());
// المخرجات: 1

تزيل الدالة clear() كافة تعيينات المفتاح والقيمة من الـ HashMap.

scores.clear();
System.out.println(scores.isEmpty());
// المخرجات: true
challenge icon

التحدي

سهل

قم بإنشاء طريقة (method) تسمى <strong>testHashMapMethods</strong> تأخذ HashMap يسمى <strong>data</strong> كمدخل. يجب أن تقوم الطريقة بالعمليات التالية:

  1. التحقق مما إذا كان الـ HashMap فارغاً وطباعة:

    Is empty: true أو Is empty: false

  2. الحصول على عدد تعيينات المفتاح والقيمة (key-value mappings) وطباعة:

    Size: X(حيث <i>X</i> هو حجم الـ HashMap).

  3. إزالة جميع التعيينات من الـ HashMap باستخدام <strong>clear()</strong>.
  4. التحقق مما إذا كان الـ HashMap فارغاً مرة أخرى بعد المسح وطباعة:

    Is empty after clear: true
     

ورقة مرجعية

طرق HashMap المساعدة الشائعة:

  • isEmpty(): تعيد true إذا كان الـ HashMap لا يحتوي على أي تعيينات مفتاح-قيمة
  • size(): تعيد عدد تعيينات مفتاح-قيمة في الـ HashMap
  • clear(): تزيل جميع التعيينات من الـ HashMap
HashMap<String, Integer> scores = new HashMap<>();

// التحقق مما إذا كان فارغاً
System.out.println(scores.isEmpty()); // true

// إضافة عنصر والتحقق مرة أخرى
scores.put("Coddy", 100);
System.out.println(scores.isEmpty()); // false

// الحصول على الحجم
System.out.println(scores.size()); // 1

// مسح جميع التعيينات
scores.clear();
System.out.println(scores.isEmpty()); // true

جرّب بنفسك

// --- وحدات لتحويل سلسلة نصية من 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 void testHashMapMethods(HashMap<String, Integer> data) {
        // اكتب الكود الخاص بك هنا
    }

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

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

        testHashMapMethods(data);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow