تفاوت بین ArrayList و LinkedList

فهرست مطالب:

تفاوت بین ArrayList و LinkedList
تفاوت بین ArrayList و LinkedList

تصویری: تفاوت بین ArrayList و LinkedList

تصویری: تفاوت بین ArrayList و LinkedList
تصویری: الدرس الثاني : المقارنة بين Array و linked list في الجافا 2024, نوامبر
Anonim

تفاوت کلیدی – ArrayList در مقابل LinkedList

مجموعه ها برای ذخیره داده ها مفید هستند. در یک آرایه معمولی، اندازه آرایه ثابت است. گاهی اوقات نیاز به ایجاد آرایه هایی است که می توانند در صورت نیاز رشد کنند. زبان های برنامه نویسی مانند جاوا دارای مجموعه هستند. این یک چارچوب با مجموعه ای از کلاس ها و رابط ها است. به عنوان ظرفی برای گروهی از عناصر عمل می کند. مجموعه ها اجازه ذخیره، به روز رسانی، بازیابی مجموعه ای از عناصر را می دهند. این به کار با ساختارهای داده مانند لیست ها، مجموعه ها، درختان و نقشه ها کمک می کند. لیست یک رابط از چارچوب مجموعه است. ArrayList و LinkedList دو کلاس در چارچوب مجموعه هستند. آنها رابط مجموعه و رابط فهرست را پیاده سازی می کنند.این مقاله به تفاوت بین ArrayList و LinkedList می پردازد. ArrayList کلاسی است که AbstractList را گسترش می دهد و رابط List را پیاده سازی می کند که در داخل از یک آرایه پویا برای ذخیره عناصر داده استفاده می کند. LinkedList کلاسی است که AbstractSequentialList را گسترش می‌دهد و رابط‌های List، Deque و Queue را پیاده‌سازی می‌کند، که در داخل از یک لیست پیوندی مضاعف برای ذخیره عناصر داده استفاده می‌کنند. این تفاوت اصلی بین ArrayList و LinkedList است.

ArrayList چیست؟

کلاس ArrayList برای ایجاد آرایه های پویا استفاده می شود. بر خلاف یک آرایه معمولی، اندازه یک آرایه پویا ثابت نیست. یک شی ایجاد شده با استفاده از کلاس ArrayList مجاز است مجموعه ای از عناصر را در لیست ذخیره کند. ظرفیت به طور خودکار افزایش می یابد، بنابراین برنامه نویس می تواند عناصر را به لیست اضافه کند. کلاس ArrayList کلاس AbstractList را گسترش می دهد که رابط List را پیاده سازی می کند. بنابراین، روش های رابط List می تواند توسط ArrayList استفاده شود. برای دسترسی به عناصر، از متد get() استفاده می شود.از متد add() می توان برای افزودن عناصر به لیست استفاده کرد. متد remove() برای حذف یک عنصر از لیست استفاده می شود. به برنامه زیر مراجعه کنید.

تفاوت بین ArrayList و LinkedList
تفاوت بین ArrayList و LinkedList
تفاوت بین ArrayList و LinkedList
تفاوت بین ArrayList و LinkedList

شکل 01: نمونه ای از ArrayList

طبق برنامه فوق، یک شی از ArrayList ایجاد می شود. با استفاده از روش افزودن می توان عناصر را به صورت پویا اضافه کرد. عناصر "A"، "B"، "C"، "D" و "E" با استفاده از روش افزودن اضافه می شوند. روش حذف برای حذف یک عنصر از لیست استفاده می شود. وقتی عدد 4 را به متد حذف می‌دهید، حرف در فهرست چهارم که “E” است از لیست حذف می‌شود. هنگام تکرار در لیست با استفاده از حلقه for، حروف A، B، C و D چاپ می شوند.

LinkedList چیست؟

مشابه ArrayList، LinkedList برای ذخیره عناصر داده به صورت پویا استفاده می شود. یک شی ایجاد شده با استفاده از کلاس LinkedList مجاز است مجموعه ای از عناصر را در لیست ذخیره کند. ظرفیت به طور خودکار افزایش می یابد، بنابراین برنامه نویس می تواند عناصر را به لیست اضافه کند. به صورت داخلی از لیست پیوندی مضاعف برای ذخیره داده ها استفاده می کند. در یک لیست با پیوند دوگانه، داده ها به عنوان گره ذخیره می شوند. هر گره شامل دو پیوند است. اولین پیوند به گره قبلی اشاره می کند. پیوند بعدی به گره بعدی در دنباله اشاره می کند.

کلاس LinkedList کلاس AbstractSequentialList را گسترش می دهد و رابط List را پیاده سازی می کند. بنابراین، روش های رابط List را می توان توسط LinkedList استفاده کرد. برای دسترسی به عناصر لیست می توان از متد get() استفاده کرد. از متد add() می توان برای افزودن عناصر به لیست استفاده کرد. متد remove() برای حذف یک عنصر از لیست استفاده می شود. به برنامه زیر مراجعه کنید.

تفاوت کلیدی بین ArrayList و LinkedList
تفاوت کلیدی بین ArrayList و LinkedList
تفاوت کلیدی بین ArrayList و LinkedList
تفاوت کلیدی بین ArrayList و LinkedList

شکل 02: مثال با LinkedList

طبق برنامه فوق، یک شی از LinkedList ایجاد می شود. با استفاده از روش افزودن می توان عناصر را به صورت پویا اضافه کرد. عناصر "A"، "B"، "C"، "D" و "E" با استفاده از روش افزودن اضافه می شوند. روش حذف برای حذف یک عنصر از لیست استفاده می شود. وقتی عدد 4 را به متد حذف می‌دهید، حرف در فهرست چهارم که “E” است از لیست حذف می‌شود. هنگام تکرار با استفاده از حلقه for، حروف A، B، C و D چاپ می شوند.

شباهت‌های بین ArrayList و LinkedList چیست؟

  • هر دو ArrayList و LinkedList رابط List را پیاده سازی می کنند.
  • هر دو ArrayList و LinkedList می توانند حاوی عناصر تکراری باشند.
  • هر دو ArrayList و LinkedList ترتیب درج را حفظ می کنند.

تفاوت بین ArrayList و LinkedList چیست؟

ArrayList در مقابل LinkedList

ArrayList کلاسی است که AbstractList را گسترش می دهد و رابط List را پیاده سازی می کند که در داخل از یک آرایه پویا برای ذخیره عناصر داده استفاده می کند. LinkedList کلاسی است که AbstractSequentialList را گسترش می‌دهد و رابط‌های List، Deque، Queue را پیاده‌سازی می‌کند، که در داخل از یک فهرست پیوندی مضاعف برای ذخیره عناصر داده استفاده می‌کند.
دسترسی به عناصر
دسترسی به عناصر ArrayList سریعتر از LinkedList است. دسترسی به عناصر LinkedList کندتر از ArrayList است.
دستکاری عناصر
دستکاری عناصر ArrayList کندتر از LinkedList است. دستکاری عناصر LinkedList سریعتر از ArrayList است.
رفتار
ArrayList به عنوان یک لیست عمل می کند. LinkedList به عنوان یک لیست و یک صف اجرا می شود.

خلاصه – ArrayList در مقابل LinkedList

چارچوب مجموعه اجازه می دهد تا با ساختارهای داده مانند فهرست ها، درختان، نقشه ها و مجموعه ها کار کنید. لیست یک رابط از چارچوب مجموعه است. این مقاله تفاوت بین ArrayList و LinkedList را مورد بحث قرار داد. ArrayList کلاسی است که AbstractList را گسترش می دهد و رابط List را پیاده سازی می کند که به صورت داخلی از یک آرایه پویا برای ذخیره عناصر داده استفاده می کند. LinkedList کلاسی است که AbstractSequentialList را گسترش می‌دهد و رابط‌های List، Deque، Queue را پیاده‌سازی می‌کند، که در داخل از یک لیست پیوندی مضاعف برای ذخیره عناصر داده استفاده می‌کند. این تفاوت بین ArrayList و LinkedList است.

توصیه شده: