مقدمة
في الدرس السابق تعرفنا على التعامل مع الملفات (File Handling)، وكيف يمكن لبرامج Java قراءة الملفات وكتابتها وإضافة البيانات إليها.
لكن عند بناء البرامج نحتاج كثيرًا إلى تخزين مجموعة من العناصر داخل البرنامج نفسه.
لهذا توفر Java إطارًا مهمًا يسمى Collections Framework.
---
ما هي Collections؟
المجموعات هي مجموعة من الأدوات والهياكل التي تساعد على تخزين وإدارة عدة عناصر بطريقة مرنة.
وتختلف عن المصفوفات التقليدية في أنها توفر طرقًا جاهزة لإضافة العناصر وحذفها والبحث عنها وتنظيمها.
---
لماذا نستخدم Collections؟
تساعد Collections على:
تخزين عدد متغير من العناصر
إضافة العناصر وحذفها بسهولة
البحث عن البيانات
ترتيب العناصر
تنظيم البيانات بطريقة مناسبة
---
List
تستخدم List عندما نريد تخزين مجموعة من العناصر بترتيب معين.
وتسمح عادةً بوجود عناصر مكررة.
ومن أشهر تطبيقاتها:
ArrayList
وهي مناسبة عندما نحتاج إلى الوصول إلى العناصر باستخدام الفهرس بشكل متكرر.
---
Set
تستخدم Set عندما نريد مجموعة من العناصر دون تكرار العناصر نفسها.
ومن أشهر تطبيقاتها:
HashSet
وتكون مفيدة عندما تكون القيم الفريدة هي الأهم.
---
Map
تستخدم Map لتخزين البيانات على شكل:
مفتاح (Key) وقيمة (Value)
وبذلك يمكن الوصول إلى قيمة معينة باستخدام المفتاح المرتبط بها.
ومن أشهر تطبيقاتها:
HashMap
---
الفرق بين List وSet وMap
يمكن تلخيص الفكرة بهذه الطريقة:
List: عناصر مرتبة ويمكن أن تتكرر.
Set: عناصر لا تسمح بالتكرار بالطريقة المعتادة.
Map: أزواج من المفاتيح والقيم.
اختيار النوع المناسب يعتمد على طبيعة البيانات والعمليات التي نحتاج إلى تنفيذها.
---
Collections وGenerics
تستخدم Collections في Java بشكل كبير مع Generics.
وهذا يسمح بتحديد نوع البيانات التي ستحتوي عليها المجموعة، مما يساعد على تقليل الأخطاء وجعل الكود أكثر وضوحًا.
---
استخدام Collections في المشاريع
تستخدم Collections في العديد من البرامج، مثل:
تطبيقات الهواتف
الألعاب
المتاجر الإلكترونية
الأنظمة الإدارية
التطبيقات التي تتعامل مع كميات كبيرة من البيانات
---
فوائد Collections
من أهم فوائدها:
مرونة أكبر من المصفوفات
توفير عمليات جاهزة
تنظيم البيانات
تسهيل البحث والإضافة والحذف
تقليل الحاجة إلى بناء هياكل بيانات من الصفر
---
أخطاء شائعة عند المبتدئين
من الأخطاء الشائعة:
استخدام List عندما تكون البيانات يجب ألا تتكرر
استخدام Map دون فهم العلاقة بين المفتاح والقيمة
اختيار نوع Collection غير مناسب للمهمة
الخلط بين Collection والمصفوفة
تجاهل Generics عند التعامل مع المجموعات
---
ملخص الدرس
تعرفنا في هذا الدرس على Collections Framework في Java، وعرفنا أهم أنواع المجموعات مثل List وSet وMap، وفهمنا استخداماتها والفرق بينها.
في الدرس الخامس والثلاثون سنتعرف على Generics في Java، وسنفهم كيف يمكن كتابة كود يعمل مع أنواع بيانات مختلفة مع الحفاظ على أمان الأنواع.



