المجموعة (Set) هي مجموعة فريدة من العناصر في لغة Dart. لا يمكنك تخزين قيم مكررة في المجموعة، وهي غير مرتبة، مما يجعلها أسرع من القوائم lists عند العمل مع كميات كبيرة من البيانات. المجموعة Set مفيدة عندما تحتاج إلى تخزين قيم فريدة دون النظر إلى ترتيب الإدخالات، مثل أسماء الفواكه، أسماء الشهور، أسماء الأيام، إلخ. تمثل المجموعة بواسطة هذه الأقواس {}.
طريقة انشاء مجموعة Set في دارت:
لإنشاء مجموعة Set في لغة Dart، يمكنك استخدام عبارة Set. على سبيل المثال، Set من النوع String يعني أنه يُسمح فقط بالنصوص في المجموعة.
void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; print(fruits); }
نتيجة الكود:
{Apple, Orange, Mango}
خصائص المجموعة Set في لغة Dart:
توفر المجموعة Set في لغة Dart مجموعة من الخصائص التي يمكن استخدامها للتعامل مع العناصر في المجموعة. سنستعرض بعض هذه الخصائص ونشرحها بالأكواد.
يبحث هذا المثال عن العنصر الأول والأخير في المجموعة Set، ويتحقق مما إذا كان فارغًا أم لا، ويجد طولها:
void main() { // تعريف المجموعة Set<String> fruits = {"Apple", "Orange", "Mango", "Banana"}; // استخدام خصائص المجموعة print("القيمة الأولى هي ${fruits.first}"); print("القيمة الأخيرة هي ${fruits.last}"); print("هل المجموعة فارغة؟ ${fruits.isEmpty}"); print("هل المجموعة غير فارغة؟ ${fruits.isNotEmpty}"); print("طول المجموعة هو ${fruits.length}"); }
نتيجة الكود:
القيمة الأولى هي Apple القيمة الأخيرة هي Banana هل المجموعة فارغة؟ false هل المجموعة غير فارغة؟ true طول المجموعة هو 4
التحقق من وجود قيمة معينة في المجموعة:
إذا كنت ترغب في التحقق مما إذا كانت المجموعة تحتوي على عناصر محددة أم لا، يمكنك استخدام عبارة contains التي تعيد قيمة true أو false.
void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; print(fruits.contains("Mango")); print(fruits.contains("Lemon")); }
نتيجة الكود:
true false
إضافة وإزالة العناصر في المجموعة:
مثل القوائم Lists، يمكنك إضافة أو إزالة العناصر في المجموعة. لإضافة العناصر إليها، يمكنك استخدام add()، ولإزالة عنصر من المجموعة، يمكنك استخدام remove().
void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; fruits.add("Lemon"); fruits.add("Grape"); print("بعد إضافة الليمون والعنب: $fruits"); fruits.remove("Apple"); print("بعد إزالة التفاح: $fruits"); }
نتيجة الكود:
بعد إضافة الليمون والعنب: {Apple, Orange, Mango, Lemon, Grape} بعد إزالة التفاح: {Orange, Mango, Lemon, Grape}
إضافة عناصر متعددة:
يمكنك استخدام addAll() لإضافة عناصر متعددة من قائمة إلى المجموعة.
void main(){ Set<int> numbers = {10, 20, 30}; numbers.addAll([40, 50]); print("بعد إضافة 40 و 50: $numbers"); }
نتيجة الكود:
بعد إضافة 40 و 50: {10, 20, 30, 40, 50}
طباعة جميع القيم في المجموعة:
يمكنك طباعة جميع عناصر المجموعة باستخدام حلقات التكرار.
void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; for(String fruit in fruits){ print(fruit); } }
نتيجة الكود:
Apple Orange Mango
أهم الدوال الخاصة بالمجموعة في لغة Dart
توفر لغة Dart مجموعة من الأساليب المفيدة التي يمكن استخدامها للتعامل مع المجموعات. في هذا القسم، سنستعرض بعض أساليب المجموعة الأكثر استخدامًا ونشرح كيفية استخدامها بالأكواد.
دالة clear() في لغة Dart:
تُستخدم clear() لإفراغ المجموعة وإزالة جميع العناصر منها:
void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; print("المجموعة الأصلية: $fruits"); fruits.clear(); print("بعد تطبيق clear(): $fruits"); }
نتيجة الكود:
المجموعة الأصلية: {Apple, Orange, Mango} بعد تطبيق clear(): {}
دالة difference() في لغة Dart:
تُستخدم طريقة difference() للحصول على العناصر التي توجد في المجموعة الأولى وغير موجودة في المجموعة الثانية:
void main(){ Set<int> set1 = {1, 2, 3, 4, 5}; Set<int> set2 = {4, 5, 6, 7, 8}; Set<int> differenceSet = set1.difference(set2); print("العناصر المختلفة: $differenceSet"); }
نتيجة الكود:
العناصر المختلفة: {1, 2, 3}
مثال أخر للحصول على العناصر التي توجد في المجموعة الثانية وغير موجودة في المجموعة الأولى:
void main(){ Set<int> set1 = {1, 2, 3, 4, 5}; Set<int> set2 = {4, 5, 6, 7, 8}; Set<int> differenceSet = set2.difference(set1); print("العناصر المختلفة: $differenceSet"); }
نتيجة الكود:
العناصر المختلفة: {6, 7, 8}
دالة elementAt() في لغة Dart:
تُستخدم طريقة elementAt() للوصول إلى العنصر في موضع محدد في المجموعة:
void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; String fruit = fruits.elementAt(1); print("العنصر في الموضع 1: $fruit"); }
نتيجة الكود:
العنصر في الموضع 1: Orange
دالة intersection() في لغة Dart:
تُستخدم طريقة intersection() للحصول على العناصر المشتركة بين مجموعتين:
void main(){ Set<int> set1 = {1, 2, 3, 4, 5}; Set<int> set2 = {4, 5, 6, 7, 8}; Set<int> intersectionSet = set1.intersection(set2); print("العناصر المشتركة: $intersectionSet"); }
نتيجة الكود:
العناصر المشتركة: {4, 5}
في هذه المقالة، استعرضنا أساسيات المجموعة Set في لغة Dart. تعلمنا كيفية إنشاء المجموعة Set واستخدام بعض الخصائص المفيدة للتعامل مع العناصر في المجموعة. قمنا أيضًا بتوضيح كيفية إضافة وإزالة العناصر والتحقق من الوجود وطباعة جميع القيم. يمكنك استخدام هذه الأساسيات للعمل مع المجموعات Set في تطبيقاتك في لغة Dart.
قدمنا بعض الأمثلة البسيطة لتوضيح الأكواد، ويمكنك استكشاف المزيد من الأمثلة وتجربة أكواد إضافية لتعزيز فهمك العملي للمجموعات Set في لغة Dart. نوصيك بمتابعة المزيد من الموارد والدروس لاستكشاف المزيد من إمكانيات لغة Dart وتعلمها بشكل أفضل.