تعلّم البرمجة بلغة كوتلن (29): التجميعات Collections

استمع إلى المقال
|
في الدروس السابقة، تعلمنا كيفية الإعلان عن المتغيرات لتخزين قيمة واحدة من البيانات بها، ثم إجراء العمليات عليها. مثل أن نخزّن عدد صحيح Int، أو كسري Double، أو جملة واحدة مكونة من سلسلة من المحارف String، وغيرها من أنواع البيانات والتي شرحناها في درسي: المتغيرات والقيم، وأنواع البيانات.
ولكن ماذا نفعل إذا أردنا حفظ ومعالجة ليس قيمة واحدة فقط، ولكن قيم بيانات متعددة من نفس النوع؟ مثل: حفظ أكثر من عدد صحيح Int، أو أكثر من جملة نصية واحدة String، في متغير واحد فقط؟
في هذه الحالة، يمكننا استخدام التجميعات Collections، والتي تتيح لنا معالجة قيم متعددة من نفس النوع كوِحدة واحدة.
التجميعات هي عبارة عن حاويات Containers تحتوي عادةً على عدد من الكائنات من نفس نوع البيانات. تسمى هذه الكائنات التي تحتويها التجميعة، عناصر Elements.
وتعتبر التجميعات، تنفيذ عملي لهياكل البيانات المجردة Abstract Data Structure، والتي يمكن إجراء العمليات التالية عليها:
مع ملاحظة، أن عمليات مثل إضافة العناصر وإزالتها وتغييرها، تنطبق فقط على التجميعات القابلة للتغيير Mutable Collections. ماذا يعني هذا؟
هذا يعني، تماماً مثل ما نفعل عند الإعلان عن المتغيرات الغير قابلة للتغير Immutable باستخدام الكلمة val، والمتغيرات القابلة للتغيير Mutable باستخدام الكلمة المفتاحية var. يمكننا فعل ذلك عند إنشاء تجميعات في كوتلن، بالاختيار أن نعلن عن تجميعات غير قابلة للتغيير Immutable Collections، أو تجميعات قابلة للتغيير Mutable Collections.
عند الإعلان عن هذا النوع من التجميعات، يمكننا فقط الوصول إلى عناصره وقراءة قيمها، ولكن لا يمكن إجراء عمليات تغيير عليها.
يمكن أن يكون هذا النوع من التجميعات مفيدًا، عندما نريد تخزين عدة عناصر معًا في تجميعة، ولا نريد السماح بتعديلها لاحقاً.
يتيح لنا النوع القابل للتغيير من التجميعات، أيضًا الوصول إلى عناصر التجميعة وقراءة قيمها. ولكن بالإضافة إلى ذلك، يمكننا إجراء عمليات على هذه العناصر. عن طريق إضافة عناصر جديدة للتجميعة، إزالة عناصر موجودة منها، أو تحديثها.
يمكننا استخدام هذا النوع من التجميعات، عندما نريد تخزين مجموعة من العناصر التي سنحتاج لاحقاً إلى تعديلها.
تقدم كوتلن في مكتبتها القياسية، ثلاثة أنواع من التجميعات:
كل الأنواع الثلاث، تتوفر في شكل قابل للتغيير Mutable، أو غير قابل للتغيير Immutable، في مكتبة كوتلن القياسية. سنشرح هذه الأنواع نظرياً وعملياً، في الدروس الثلاث القادمة بواقع درس لكل نوع.
كما رأينا في الفقرة أعلاه، تختلف التجميعات الثلاث في الهيكل والتطبيق. ومع ذلك، توفر كوتلن خاصيات ودوال مشتركة، يمكن استخدامها مع أي تجميعة. بالرغم من أننا سنستعرضها في الدروس الخاصة بكل نوع تجميعة، لكن قبل ذلك، دعونا نلقي نظرة سريعة عليها:
بالإضافة إلى ذلك، هناك بعض الدوال التي يمكن استخدامها مع التجميعات القابلة للتغيير، لكن لا يمكن استخدامها مع التجميعات الغير قابلة للتغيير:
بالإضافة إلى دالة ()contains، يمكننا استخدام الكلمة in للبحث عن عنصر في تجميعة معينة، أو للدوران على كل عناصر التجميعة عبر حلقة التكرار for. تماماً مثل ما فعلنا النطاقات. كالتالي:
استخدام الدالة:
collection.contains(element)
استخدام الكلمة المفتاحية in:
element in collection
كما يتضح من المثال، أن استخدام in أوضح وأكثر قابلية للقراءة. لذا تنصح وثائق كوتلن الرسمية، باستخدامها بدلاً عن ()contains.
كانت هذه مقدمة عامة عن التجميعات في كوتلن. في الدروس الثلاث القادمة، سنشرح الأنواع الثلاث تفصيلياً. بدءاً من الدرس القادم والذي سنتحدث فيه عن القوائم Lists.
هذا الدرس هو جزء من سلسلة تعليم مبادئ البرمجة بلغة كوتلن. لمُتابعة الدروس منذ البداية ومُشاهدة فهرس المحتويات يمكنك الانتقال إلى الدرس الأول من هنا.
هل أعجبك المحتوى وتريد المزيد منه يصل إلى صندوق بريدك الإلكتروني بشكلٍ دوري؟
انضم إلى قائمة من يقدّرون محتوى إكسڤار واشترك بنشرتنا البريدية.