ArrayList vs Array in C #: الفرق والمقارنة

في C # ، من المعروف أن المصفوفة و ArrayList هما أكثر أنواع البيانات استخدامًا. المصفوفة هي الوظيفة الأساسية للغة البرمجة C # ، بينما ArrayList في C # هي مجموعة.

الوجبات السريعة الرئيسية

  1. ArrayList عبارة عن مجموعة ديناميكية يمكن تغيير حجمها ويمكنها تخزين عناصر من أي نوع بيانات ، وضبط حجمها تلقائيًا عند إضافة العناصر أو إزالتها. ومع ذلك ، قد يكون لها تكلفة أداء بسبب ملاكمة أنواع القيمة وإخراجها من علبتها.
  2. المصفوفات في C # هي مجموعات ذات حجم ثابت ومكتوبة بشدة يمكنها تخزين عناصر من نوع بيانات معين ، وتقدم أداءً أفضل بسبب التخلص من الملاكمة وإلغاء العبوة ولكنها تتطلب حجمًا محددًا مسبقًا عند التهيئة.
  3. يتمثل الاختلاف الأساسي بين ArrayList و Array في C # في المرونة وسلامة النوع ، حيث توفر ArrayList تغييرًا ديناميكيًا وتخزينًا لأنواع بيانات متعددة. في المقابل ، توفر المصفوفات أداءً أفضل وأمانًا من النوع ولكن لها حجم ثابت.

ArrayList مقابل Array في C #

ArrayList هي قائمة ديناميكية من الكائنات التي يمكن أن تنمو أو تتقلص ، بينما يكون للمصفوفة حجم ثابت. يحتوي ArrayList على طرق لمعالجة البيانات ، مثل إضافة العناصر أو إزالتها ، بينما تتطلب المصفوفة تغيير الحجم يدويًا. يمكن لـ ArrayList تخزين عناصر من أنواع بيانات مختلفة ، بينما يمكن للمصفوفة تخزين عناصر من نفس نوع البيانات.

للوصول إلى البيانات من ArrayList ، يحتاج المرء إلى تكرارها باستخدام الكائن ، بينما في المصفوفة ، يمكن الوصول إليها بسهولة دون أي شيء.

ArrayList مقابل Array في C

 

جدول المقارنة

معلمة المقارنةArrayListمجموعة
النوعArrayList من نوع غير عاميتم كتابة المصفوفة بقوة. يمكن تخزين قيم من نفس نوع البيانات فقط.
عدد العناصرإنه ديناميكي ، لذا يمكن تخزين أي عدد من أنواع البياناتيمكن إضافة عدد ثابت فقط من العناصر.
أداءإنه يحط من الأداء منذ استخدام الملاكمة والتفريغ.لديها أداء أفضل.
قيمة فارغةيمكن أن تقبل قيمة NULLلا
مبوبةيستخدم فئة ثابتةيستخدم نظام مساحة الاسم. مجموعة

 

ما هو ArrayList في C #؟

يتم تهيئة قوائم الصفيف باستخدام واجهة القائمة. تعتبر واحدة من أكثر البيانات مرونة في C #. المجموعة في لغات البرمجة هي فئة خاصة تخزن البيانات وتسمح للمبرمجين باسترجاعها.

  1. لا يحتوي ArrayList على أي حجم ثابت ، وحجم الذاكرة ديناميكي ، ويمكنك تغييره عندما تريد. إذا قام المبرمج بتهيئة ذاكرة لـ 4 عناصر ، فيمكن للمرء إضافة عنصر آخر.
  2. في قائمة الصفيف ، يتم زيادة الحجم بقيمة 2 ^ n. أيضًا ، ArrayList غير عام ، مما يسمح لنا بتخزين عناصر من أنواع بيانات مختلفة.
  3. بعض الوظائف الأساسية لـ ArrayList هي RemoveAt () و Remove () و Insert () و Add ().
  4. أيضًا ، يمكنه تخزين العنصر الفارغ.
اقرأ أيضا:  JDBC مقابل السبات: الفرق والمقارنة

مثال

                                    باستخدام النظام. مجموعة؛

                                    ArrayList a = new ArrayList () ،

                                    أ.إضافة (1 ، "مرحبًا") ؛

                                    أ.إضافة (4) ؛

                                    أ.إضافة (8.23) ؛

                                    a.add (خالية) ؛

تُستخدم بعض الوظائف للتفاعل مع البيانات المخزنة في ArrayList.

  1. Add (): يستخدم لإضافة عناصر في ArrayList.
  2. إدراج (): يستخدم لإدراج عناصر في فهرس معين في ArrayList.
  3. إزالة (): يستخدم لإزالة عنصر واحد ،
  4. RemoveAt (): يزيل عناصر معينة في ArrayList.
 

ما هو Array in C #؟

المصفوفة هي نوع بيانات يستطيع فيه المبرمج تخزين بيانات من نفس النوع وطول ثابت. لا يمكن تغيير قيمة الطول والبيانات أثناء وقت التشغيل. يتم إعطاء قيم فهرس لجميع عناصر الصفيف ، ويكون فهرس الصفيف صفرًا.

ومن ثم فإن القيمة الافتراضية هي صفر من الفهرس للعنصر الأول في المصفوفة. ال بناء الجملة للتصريح وتعريف المصفوفة في C # على النحو التالي. نظرًا لأن المصفوفة هي نوع بيانات مرجعي ، يتم تخصيص ذاكرتها في ذاكرة الكومة.

                                    Int [] array = new int [] {10,20,30,40،XNUMX،XNUMX،XNUMX} ؛

                        10 20 30 40 بيانات

                        0 1 2 3 مؤشرات

بعض النقاط المهمة حول المصفوفات.

  1. المصفوفة ذات حجم ثابت ، وتتم كتابتها بقوة. هذه يعني أنه ، على سبيل المثال ، إذا قمت بإنشاء مصفوفة من القيم الصحيحة ، فلا يمكنك تخزين السلاسل النصية.
  2. نظرًا لعدم وجود تفريغ أو تعبئة للبيانات ، فإنها تعمل بشكل أفضل.

الاختلافات الرئيسية بين ArrayList و Array في C #

  1. حجم الصفيف ثابت ويحتوي على المجموعة المتسلسلة لجميع عناصر النوع نفسه. حجم قائمة الصفيف غير ثابت ويزيد بمقدار 2 ^ n.
  2. يتم تهيئة بُعد المصفوفة وطول كل بُعد عند إنشاء المصفوفة. من المستحيل تغيير قيمة طول المصفوفة أثناء وقت التشغيل. بالنسبة إلى ArrayList ، يمكن تغيير قيمة طول قائمة الصفيف ديناميكيًا.
  3. فهرس العنصر الأول في المصفوفة هو 0 ، ومؤشر العنصر الأخير هو n-1 ، حيث n هو طول حجم المصفوفة.
  4. يحتوي ArrayList على عناصر من أنواع بيانات مختلفة ، بينما تحتوي المصفوفة على بيانات من أنواع بيانات متشابهة. على سبيل المثال ، إذا كانت Array من نوع عدد صحيح ، فيمكن تخزين الأعداد الصحيحة فقط في المصفوفة.
  5. المصفوفة هي نوع بيانات مكتوب بقوة ، وكفاءتها أفضل من ArrayList. نظرًا لأنه في Arraylist ، هناك حاجة إلى unboxing والملاكمة ، فهي أقل كفاءة.
  6. يزداد حجم ArrayList تلقائيًا ؛ ومن ثم تحتاج إلى إعطاء أي حجم.
الفرق بين X و Y 43
مراجع حسابات
  1. فئة ArrayList (System.Collections) | مستندات Microsoft
  2. https://www.itu.dk/research/c5/latest/ITU-TR-2006-76.pdf
اقرأ أيضا:  هوني كومب 3.0 مقابل آيس كريم ساندويتش 4.0: الفرق والمقارنة

آخر تحديث: 11 يونيو 2023

النقطة 1
طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

25 أفكار حول "ArrayList vs Array في C#: الفرق والمقارنة"

  1. على الرغم من أن المقارنة ثاقبة، إلا أنني أشعر أن المقالة لا تتعمق في المفاضلات المحتملة عند الاختيار بين ArrayList وArray.

    رد
    • من المهم دائمًا مراعاة إيجابيات وسلبيات أنواع البيانات المختلفة، وسيكون ذلك بمثابة إضافة قيمة لهذه المقالة.

      رد
  2. مقالة إعلامية! لقد واجهت دائمًا مشكلة في فهم الاختلافات بين المصفوفة وArrayList، لكن هذا أوضح الأمر تمامًا.

    رد
  3. على الرغم من أنه من المهم فهم الاختلافات، أعتقد أيضًا أنه من المهم معرفة متى يتم استخدام ArrayList على المصفوفات والعكس صحيح. السياق هو المفتاح.

    رد
  4. وأنا أقدر أن المقالة لا تسلط الضوء على الاختلافات فحسب، بل تقدم أيضًا أمثلة عملية. أنه يعزز فهم المفاهيم.

    رد
  5. أجد أن استخدام الأمثلة العملية في المقالة زائدة عن الحاجة بعض الشيء. المفاهيم واضحة بالفعل بدونها.

    رد
    • أنا لا أتفق مع هذا بكل احترام. على الرغم من أن المفاهيم قد تكون واضحة لك، إلا أن الأمثلة يمكن أن تفيد حقًا أولئك الذين يحتاجون إلى مساعدة إضافية في الفهم.

      رد
  6. الوظائف التفصيلية لكل من ArrayList وArray المتوفرة في هذه المقالة مفيدة بشكل لا يصدق. إنه مثل وجود دليل مرجعي سريع.

    رد
  7. تعتبر المقارنة الشاملة بين ArrayList وArray في C# ممتازة، ولكني أرغب في رؤية المزيد من حالات الاستخدام العملية لكل منهما.

    رد
  8. لا أتفق مع تفضيل المصفوفات على ArrayList بسبب الأداء الأفضل. يمكن أن تكون مرونة ArrayList لا تقدر بثمن في مواقف معينة.

    رد
    • أعتقد أن كلاً من المصفوفات وArrayList لديهما نقاط قوة ونقاط ضعف خاصة بهما، ومن المهم مراعاة المتطلبات المحددة لكل مهمة برمجة.

      رد
    • أفهم وجهة نظرك، ولكن هناك أيضًا حالات يكون فيها الحجم الثابت للمصفوفات أكثر ملاءمة. الأمر كله يتعلق باختيار الأداة المناسبة للوظيفة.

      رد

اترك تعليق

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!