Logo ar.removalsclassifieds.com

الفرق بين ArrayList و LinkedList (مع الجدول)

جدول المحتويات:

Anonim

ArrayList عبارة عن مصفوفة يمكن تغيير حجمها توجد عادةً في جافا. تستخدم الحزم وتختلف مع المصفوفة المدمجة بسبب تعديل الحجم وتأتي مع المزيد من العناصر المشتقة. يُعرف LinkedList بخطية بنية البيانات الخاصة به ولا يتم تخزينه في موقع معدي مثل ArrayList. الاختلافات بينها تجعله فريدًا للاستخدام في مواقف خوارزمية مختلفة في Java وترميز آخر.

ArrayList مقابل LinkedList

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

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

يُعرف LinkedList بحجمه الديناميكي ومفهوم الإدراج والحذف السهل ، على عكس ArrayList. يتم تمثيل LinkedList بمؤشر إلى الرأس (العقدة) للتأكد من أنها مؤثرة أو خالية. يتم ربطها أيضًا من خلال العناوين وغالبًا ما يتم تفضيلها على عناصر المصفوفة.

جدول المقارنة بين ArrayList و LinkedList

معلمة المقارنة

ArrayList

لينكدليست

إستعمال

يتم استخدام المصفوفة الديناميكية لتخزين العناصر داخليًا. يتم استخدام قائمة مزدوجة الارتباط لتخزين العناصر داخليًا.
تلاعب

التلاعب بطيء ويستغرق وقتًا أطول. يكون التلاعب أسرع ويستغرق وقتًا أقل.
التنفيذ

تنفذ ArrayList القائمة فقط. تطبق LinkedList القائمة و Queue.
وصول

يكون ArrayList أفضل عندما يريد أحد التطبيقات تخزين البيانات والوصول إليها. يعمل LinkedList بشكل أسرع في معالجة البيانات المخزنة.
أداء

ArrayList ينفذ 0 (1). يتم تنفيذ LinkedList 0 (n).

ما هو ArrayList؟

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

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

يستخدم ArrayList () لبناء قائمة مصفوفة فارغة ، ويستخدم ArrayList (Collectionc) لبناء قائمة مصفوفة تمت تهيئتها بواسطة عناصر المجموعة "c" ، ويتم استخدام ArrayList (سعة int) في قائمة المصفوفات حيث توجد سعة أولية متخصصة.

إنه أبطأ قليلاً في التلاعب مقارنة بـ LinkedList لأنه كلما تم حذف العنصر ، فإنه يتسبب في العديد من التغييرات التي تؤثر عليه. ومن ثم ، فإنه يمتد بترتيب تسلسلي لواجهة القائمة.

ما هو LinkedList؟

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

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

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

الفرق الرئيسي بين ArrayList و LinkedList:

استنتاج:

على الرغم من أن كل من ArrayList و LinkedList يطبقان List Interface ويتم الحفاظ على ترتيب الإدراج جيدًا ، إلا أن هناك اختلافات شاسعة بينهما تجعلهما مقسمين على حزم جافا مختلفة. هذه الاختلافات تجعل أحدهم أفضل من الآخر بناءً على المواقف المطلوبة ، وقت تشغيل الخوارزميات. اختلافاتهم واضحة في البحث ، والصيانة ، ومتطلبات الإضافة المتكررة ، والحذف ، وتكرار عمليات البحث ، وأكثر من ذلك. الاختلافات هي التي تجعل جافا وأنواع الترميز الأخرى أسهل والاختيار حسب المتطلبات.

مراجع:

الفرق بين ArrayList و LinkedList (مع الجدول)