0Pricing
Java Academy · درس

Maps وحساب التكرارات

تعلّم أساسيات Map ‏(put/get/remove)، والتكرار على الإدخالات، وعدّاد تكرار الكلمات، وTreeMap لعرض مرتب.

Maps وحساب التكرارات درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.

ما المقصود بـ Map؟

تخزّن Map أزواج المفتاح→القيمة. من الخيارات المناسبة:

  • HashMap: سريعة ولا تحافظ على الترتيب.
  • TreeMap: مفاتيحها مرتبة.
  • LinkedHashMap: تتذكر ترتيب الإدراج.

العمليات الشائعة

العمليات الرئيسية:

  • put(k,v)، وget(k)، وcontainsKey(k)، وremove(k)
  • الحجم: size()
  • التكرار: استخدموا entrySet() للوصول إلى المفتاح والقيمة.

الشفرة: أساسيات Map

المفاتيح فريدة. ويؤدي استخدام مفتاح موجود مرة أخرى إلى استبدال قيمته. استخدموا entrySet() للتكرار على الإدخالات.

public class Main {
  public static void main(String[] args) {
    java.util.Map<String, Integer> scores = new java.util.HashMap<>();
    scores.put("Ada", 90);
    scores.put("Bob", 75);
    scores.put("Ada", 95); // replaces old value

    System.out.println("Bob's score=" + scores.get("Bob"));
    System.out.println("Has Ada? " + scores.containsKey("Ada"));
    scores.remove("Bob");

    for (java.util.Map.Entry<String, Integer> e : scores.entrySet()) {
      System.out.println(e.getKey() + " -> " + e.getValue());
    }
  }
}

فكرة التكرار

حساب الكلمات: مرّروا على الكلمات وحدّثوا القيم باستخدام getOrDefault: map.put(w, map.getOrDefault(w,0)+1).

الشفرة: تكرار الكلمات

يجعل getOrDefault عملية العد مختصرة. وتضيف كل كلمة ‎+1 إلى عددها الحالي.

public class Main {
  public static void main(String[] args) {
    String[] words = { "to", "be", "or", "not", "to", "be" };
    java.util.Map<String,Integer> counter = new java.util.HashMap<>();

    for (String w : words) {
      int newVal = counter.getOrDefault(w, 0) + 1;
      counter.put(w, newVal);
    }
    System.out.println(counter);
  }
}

الشفرة: الفرز باستخدام TreeMap

يفرز TreeMap المفاتيح تلقائيًا. وهذه طريقة سريعة لطباعة النتائج بالترتيب الأبجدي.

public class Main {
  public static void main(String[] args) {
    java.util.Map<String,Integer> counts = new java.util.HashMap<>();
    counts.put("banana",2);
    counts.put("apple",3);
    counts.put("cherry",1);

    java.util.Map<String,Integer> sorted = new java.util.TreeMap<>(counts);
    for (java.util.Map.Entry<String,Integer> e : sorted.entrySet()) {
      System.out.println(e.getKey() + " -> " + e.getValue());
    }
  }
}

تحقق من HashMap

تحقق سريع: أي العبارات التالية صحيحة بشأن HashMap؟

مراجعة

مراجعة: تخزّن Map أزواج المفتاح→القيمة. تعلّمتم put وget وremove، وحساب تكرار الكلمات باستخدام getOrDefault، وإنشاء عروض مرتبة باستخدام TreeMap.

الأسئلة الشائعة

هل درس «Maps وحساب التكرارات» مجاني؟

نعم — نص درس «Maps وحساب التكرارات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.

ماذا ستتعلم في «Maps وحساب التكرارات»؟

تعلّم أساسيات Map ‏(put/get/remove)، والتكرار على الإدخالات، وعدّاد تكرار الكلمات، وTreeMap لعرض مرتب. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.

كم من الوقت يستغرق درس «Maps وحساب التكرارات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. Maps وحساب التكرارات
  2. Comparable مقابل Comparator
  3. الفرز والبحث باستخدام Collections
← العودة إلى Java Academy