المجموعات — العضوية والعمليات
استخدم Swift Set للعناصر الفريدة، وفحوصات العضوية السريعة، وجبر المجموعات مثل union وintersection وsubtracting وsymmetricDifference، والعلاقات مثل subset وsuperset وdisjoint.
المجموعات — العضوية والعمليات درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.
لماذا نستخدم Sets؟
الهدف: إتقان Set لتخزين قيم فريدة وغير مرتبة مع إجراء عمليات تحقق سريعة من العضوية. ستستخدم جبر المجموعات والعلاقات لتحليل البيانات.
الإنشاء والتحقق من العضوية
أنشئ Set، وأضف العناصر أو أزلها، وتحقق باستخدام contains؛ إذ يتم تجاهل العناصر المكررة.
var fruits: Set<String> = ["apple", "banana"]
fruits.insert("banana") // no duplicate added
fruits.insert("cherry")
fruits.remove("apple")
print("has banana?", fruits.contains("banana"))جبر المجموعات
استخدم union وintersection وsubtracting وsymmetricDifference.
let evens: Set<Int> = [2,4,6,8]
let odds: Set<Int> = [1,3,5,7]
print("union", evens.union(odds).sorted())
print("intersect", evens.intersection([2,3,4,5]).sorted())
print("subtract", evens.subtracting([2,8]).sorted())
print("symDiff", evens.symmetricDifference([4,10]).sorted())العلاقات
العلاقات هي: isSubset وisSuperset وisDisjoint.
let a: Set<Int> = [1,2]
let b: Set<Int> = [1,2,3,4]
print("a ⊆ b?", a.isSubset(of: b))
print("b ⊇ a?", b.isSuperset(of: a))
print("disjoint?", a.isDisjoint(with: [3,4]))التكرار والترتيب
المجموعات غير مرتبة؛ لذا رتّبها عندما تحتاج إلى ترتيب ثابت، مثل إخراج واجهة المستخدم.
let colors: Set<String> = ["red", "blue", "green"]
// Sets are unordered; sort for deterministic output
for c in colors.sorted() { print(c) }نصائح وأداء
نصائح:
- فضّل Set لاختبارات العضوية، إذ تكون عادةً بتعقيد O(1).
- يجب أن تكون العناصر Hashable؛ وتعمل أنواع مثل String وInt والعديد من التعدادات مباشرةً.
- حوّل المجموعة إلى
Arrayأو استخدمsorted()عندما يكون الترتيب مهمًا.
الفرق التناظري
تحقق سريع: ما الطريقة التي تُرجع العناصر الموجودة في إحدى المجموعتين ولكن ليس فيهما معًا؟
مراجعة
مراجعة: تخزن المجموعات عناصر فريدة وتتميز بسرعة التحقق من العضوية. تدرب على جبر المجموعات (union/intersection/subtracting/symmetricDifference) والعلاقات (subset/superset/disjoint).
الأسئلة الشائعة
هل درس «المجموعات — العضوية والعمليات» مجاني؟
نعم — نص درس «المجموعات — العضوية والعمليات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.
ماذا ستتعلم في «المجموعات — العضوية والعمليات»؟
استخدم Swift Set للعناصر الفريدة، وفحوصات العضوية السريعة، وجبر المجموعات مثل union وintersection وsubtracting وsymmetricDifference، والعلاقات مثل subset وsuperset وdisjoint. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «المجموعات — العضوية والعمليات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المصفوفات والقواميس والمجموعات
- المجموعات — العضوية والعمليات
- أنماط التكرار وقابلية التغيير