ما هي المجموعة؟
جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 17 من 65.
تُعد الـ Set هيكل بيانات تجميعي يخزن عناصر فريدة بدون ترتيب معين. وعلى عكس الـ List، التي يمكن أن تحتوي على قيم مكررة وتحافظ على ترتيب العناصر، تضمن الـ Set تلقائياً ظهور كل عنصر مرة واحدة فقط.
الفرق الجوهري بين List و Set هو كيفية تعاملهما مع التكرارات. عندما تحاول إضافة عنصر موجود بالفعل في Set، فإنه ببساطة يتجاهل التكرار ويحتفظ بنسخة واحدة فقط من ذلك العنصر.
// تسمح الـ List بالقيم المكررة
List<String> fruits = ['apple', 'banana', 'apple', 'orange'];
print(fruits); // ['apple', 'banana', 'apple', 'orange']
// تقوم الـ Set بإزالة القيم المكررة تلقائيًا
Set<String> uniqueFruits = {'apple', 'banana', 'apple', 'orange'};
print(uniqueFruits); // {'apple', 'banana', 'orange'}هذه الإزالة التلقائية للعناصر المكررة تجعل Set مفيدة بشكل خاص عندما تحتاج إلى ضمان التفرد في بياناتك، مثل تخزين معرفات المستخدمين، أو عناوين البريد الإلكتروني، أو أي مجموعة يجب أن يظهر فيها كل عنصر مرة واحدة فقط.
ورقة مرجعية
تعتبر الـ Set مجموعة تخزن عناصر فريدة بدون ترتيب معين، وتقوم بإزالة التكرارات تلقائياً:
// تسمح القائمة (List) بالتكرارات
List<String> fruits = ['apple', 'banana', 'apple', 'orange'];
print(fruits); // ['apple', 'banana', 'apple', 'orange']
// تقوم الـ Set بإزالة التكرارات تلقائياً
Set<String> uniqueFruits = {'apple', 'banana', 'apple', 'orange'};
print(uniqueFruits); // {'apple', 'banana', 'orange'}استخدم Set عندما تحتاج إلى ضمان تفرد البيانات، مثل تخزين معرفات المستخدمين أو عناوين البريد الإلكتروني.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1التعامل المتقدم مع القوائم
خصائص القائمة: first و lastحالة القائمة: isEmpty و isNotEmptyعكس القائمةالإضافة إلى القائمة: insertالحذف من القائمة: removeWhereالبحث في القائمة: indexOfفرز القائمةخلط القائمةملخص - منظم القوائم4معالجة الـ Map المتقدمة
التكرار عبر الـ Mapالتحقق من المفاتيح والقيمخصائص الـ Map: keys و valuesإضافة مشروطة: putIfAbsentإزالة العناصر من الـ Mapالـ Maps المتداخلةمراجعة - تحديث المخزون2عمليات القوائم الوظيفية
التحويل باستخدام 'map'التصفية باستخدام 'where'استخدام '.toList()'التحقق من الشروط باستخدام 'any'الشروط باستخدام 'every'البحث باستخدام 'firstWhere'مراجعة - تصفية البيانات5مشروع: حاسبة عربة التسوق
إعداد المشروعإضافة العناصر إلى العربة3المجموعات
ما هي المجموعة؟إنشاء مجموعةالإضافة والحذف من المجموعاتالتحقق من وجود عناصر في المجموعةتحويل قائمة إلى مجموعةاتحاد المجموعاتتقاطع المجموعاتالفرق بين المجموعاتمراجعة - قائمة ضيوف فريدة