الفرق بين أرايليست و فيكتور

Anonim

أريليست مقابل ناقلات

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

ما هو أرايليست؟

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

ما هو ناقل؟

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

ما هو الفرق بين أرايليست و فيكتور؟

على الرغم من أن كل من أرايليستس ونواقل تشبه إلى حد كبير صفيفات ديناميكية التي يمكن أن تنمو في الحجم، لديهم بعض الاختلافات الهامة. والفرق الرئيسي بين أرايليستس وناقلات هو أن متزامنة ناقلات في حين أرايليستس هي غير متزامنة. لذلك استخدام أرايليستس في البيئات متعددة مؤشرات لن تكون مناسبة، في حين يمكن استخدام ناقلات بأمان في بيئات متعددة مؤشرات الترابط (لأنها هي موضوع آمن). ولكن التزامن في ناقلات يؤدي إلى انخفاض في الأداء. ولذلك لن يكون من الجيد استخدام النواقل في بيئة مترابطة واحدة. داخليا، يستخدم كل من المصفوفين وناقلات الصفائف لعقد الأشياء. عندما لا تكون المساحة الحالية كافية، فإن النواقل سوف تضاعف حجم صفيفتها الداخلية، في حين أن أرايليستس زيادة حجم صفيفتها الداخلية بنسبة 50٪.ولكن عند استخدام كل من أرايليستس والنواقل، من خلال إعطاء قدرة أولية مناسبة، وتغيير حجم لا لزوم لها من مجموعة الداخلية يمكن تجنبها. وفي الحالة التي يعرف فيها معدل نمو البيانات، فإن استخدام النواقل سيكون أكثر ملاءمة لأن القيمة التراكمية للنواقل يمكن تعريفها.