العودة إلى الدورة

مقدمة في إطار عمل المجموعات في Java (Collections Framework)

إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)

الدرس 36: مقدمة في إطار عمل المجموعات في Java

إطار عمل المجموعات (Java Collections Framework - JCF) هو بنية موحدة لتمثيل ومعالجة المجموعات. يوفر مجموعة من الواجهات والفئات للتعامل مع هياكل البيانات بكفاءة.

1. لماذا نستخدم المجموعات (Collections)؟

بينما تتميز المصفوفات بالسرعة، إلا أن لها حجماً ثابتاً. أما المجموعات فهي ديناميكية (يتغير حجمها تلقائياً) وتوفر هياكل بيانات وخوارزميات متطورة (فرز، بحث).

2. الواجهات الأساسية في JCF

تنفذ جميع فئات المجموعات إحدى هذه الواجهات الجذرية:

أ. واجهة Collection (الجذر)

هي الواجهة الأساسية لمعظم أنواع المجموعات. وتحدد الدوال الأساسية مثل add() و remove() و size() و contains().

ب. واجهة List

  • مجموعة مرتبة (تحافظ العناصر على ترتيب إدخالها).
  • تسمح بالعناصر المكررة.
  • الوصول عبر الفهرس (مثل المصفوفات).
  • التنفيذات: ArrayList, LinkedList.

ج. واجهة Set

  • مجموعة غير مرتبة.
  • لا تسمح بالعناصر المكررة.
  • التنفيذات: HashSet, TreeSet.

د. واجهة Map

  • لا ترث واجهة Collection (فهي منفصلة قليلاً).
  • تخزن البيانات كـ أزواج (مفتاح-قيمة).
  • المفاتيح يجب أن تكون فريدة؛ القيم يمكن أن تتكرر.
  • التنفيذات: HashMap, TreeMap.

3. متطلب الأنواع العامة (Generics)

لاحظ أن أنواع المجموعات تتطلب استخدام Generics (مثل <String>, <Integer>) لضمان أمان النوع.