تفاوت بین فهرست و مجموعه

فهرست مطالب:

تفاوت بین فهرست و مجموعه
تفاوت بین فهرست و مجموعه

تصویری: تفاوت بین فهرست و مجموعه

تصویری: تفاوت بین فهرست و مجموعه
تصویری: آموزش زبان انگلیسی : تفاوت بین too و enough در زبان انگلیسی 2024, نوامبر
Anonim

تفاوت کلیدی – لیست در مقابل مجموعه

بیشتر زبان های برنامه نویسی از آرایه ها برای ذخیره مجموعه ای از داده ها از همان نوع استفاده می کنند. یکی از اشکالات اصلی آرایه ها این است که وقتی اندازه آرایه اعلام شد، نمی توان آن را تغییر داد. اگر برنامه نویس بخواهد مقادیری بیش از اندازه آرایه را ذخیره کند، باید یک آرایه جدید ایجاد کند و عناصر موجود را در آرایه جدید کپی کند. در این مواقع می توان از مجموعه ها استفاده کرد. اضافه کردن عناصر، حذف عناصر و بسیاری از عملیات های دیگر با پشتیبانی مجموعه ها امکان پذیر است. انواع مختلفی از مجموعه ها در زبان های برنامه نویسی مانند جاوا موجود است. List و Set رابط های سلسله مراتبی مجموعه ها هستند.رابط پایه برای دیگر اینترفیس ها Collection است. تفاوت اصلی بین List و Set این است که List از ذخیره چندین بار یک عنصر پشتیبانی می کند در حالی که Set از ذخیره چند بار یک عنصر مشابه پشتیبانی نمی کند. بنابراین، یک مجموعه اجازه تکرار را نمی دهد.

لیست چیست؟

لیست یک رابط است که رابط مجموعه را گسترش می دهد. تعدادی روش در رابط مجموعه وجود دارد. روش افزودن به اضافه کردن یک عنصر کمک می کند. "روش حذف" حذف یک عنصر است. روش addAll برای افزودن چندین عنصر و روش removeAll برای حذف عناصر از مجموعه وجود دارد. متد contain کمک می کند تا بفهمید آیا یک شی خاص در لیست وجود دارد یا خیر. "containsAll" برای یافتن اینکه آیا مجموعه ای از اشیاء در مجموعه وجود دارد یا خیر. از روش تکرار کننده برای حلقه زدن آیتم های لیست استفاده می شود. همانطور که List مجموعه را گسترش می دهد، تمام متدهای Collection به List تعلق دارند. به غیر از آن متدها، لیست دارای متدهایی مانند get و set است.برنامه نویس می تواند با استفاده از روش get مقداری را در یک شاخص خاص بدست آورد. برنامه نویس می تواند با استفاده از روش set مقداری را در یک شاخص خاص تنظیم کند. «indexOf» برای یافتن نمایه یک عنصر استفاده می‌شود.

در یک لیست، عملیات را می توان با توجه به موقعیت انجام داد. برنامه نویس می تواند عنصر داده ای را که قرار است به ایندکس اضافه شود ارائه دهد. بنابراین به شاخص خاص اضافه می شود. اگر برنامه نویس شاخصی ارائه ندهد، عنصر به انتهای لیست اضافه می شود. همچنین نظم درج شده را حفظ می کند. اگر عنصر 1 اضافه شود و سپس عنصر 2 اضافه شود، عنصر 1 قبل از عنصر 2 خواهد بود.

تفاوت بین لیست و مجموعه
تفاوت بین لیست و مجموعه

شکل 01: فهرست و تنظیم

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

Set چیست؟

Set رابطی است که رابط مجموعه را گسترش می دهد. همانطور که رابط Set مجموعه را گسترش می دهد، تمام متدهای مجموعه نیز متعلق به Set هستند. یک مجموعه از مقادیر تکراری پشتیبانی نمی کند. بنابراین، برنامه نویس نمی تواند یک عنصر را دو بار ذخیره کند. مجموعه ای منحصر به فرد از عناصر را حفظ می کند. رابط SortedSet رابط Set را گسترش می دهد. SortedSet عناصر را به ترتیب مرتب شده نگه می دارد. رابط NavigableSet SortedSet را گسترش می دهد. NavigableSet روش های ناوبری مانند پایین، کف، سقف و غیره را ارائه می دهد.

HashSet، LinkedHashSet و TreeSet برخی از کلاس‌هایی هستند که رابط Set را پیاده‌سازی می‌کنند. HashSet رابط Set را پیاده سازی می کند. نظم درج شده را حفظ نمی کند. اگر مقادیر به صورت a، x، b درج شوند، ممکن است به صورت x، a، b ذخیره شوند. LinkedSet ترتیب درج شده را حفظ می کند. اگر عناصر به ترتیب a، x، b درج شوند، ترتیب ذخیره سازی a، x، b خواهد بود. TreeSet Set و NavigableSet را پیاده سازی می کند. ترتیب درج را حفظ نمی کند بلکه عناصر را به ترتیب مرتب شده ذخیره می کند. اگر ترتیب درج شده a، c، b باشد، عناصر به صورت a، b، c ذخیره می شوند. همه HashSet، LinkedHashSet و TreeSet هیچ عنصر تکراری نخواهند داشت.

شباهت‌های بین فهرست و مجموعه چیست؟

  • هر دو رابط List و Set رابط مجموعه را گسترش می دهند.
  • هر دو لیست و تنظیم عملیات پشتیبانی مانند افزودن، حذف عناصر.

تفاوت بین لیست و مجموعه چیست؟

لیست در مقابل ست

List Interface واسط فرعی مجموعه است که شامل روش هایی برای انجام عملیاتی مانند insert، delete بر اساس شاخص است. Set Interface یک واسط فرعی مجموعه است که شامل روش هایی برای انجام عملیاتی مانند درج، حذف عناصر با حفظ عناصر منحصر به فرد است.
کلاس
ArrayList، Vector و LinkedList کلاس هایی هستند که رابط List را پیاده سازی می کنند. HashSet، LinkedHashSet، و TreeSet کلاس هایی هستند که رابط Set را پیاده سازی می کنند.
تکثیر عنصر
لیست از تکرار عناصر پشتیبانی می کند. Set از تکرار عناصر پشتیبانی نمی کند. عناصر منحصر به فرد هستند.

خلاصه - لیست در مقابل مجموعه

مجموعه ها برای ذخیره عناصر به صورت پویا استفاده می شوند. زبان های برنامه نویسی مانند جاوا رابط مجموعه را فراهم می کند. List و Set دو اینترفیس هستند که به واسط مجموعه تعلق دارند. هر دو اینترفیس مجموعه را گسترش می دهند. این مقاله تفاوت بین لیست و مجموعه را مورد بحث قرار داد. تفاوت اصلی بین List و Set در این است که List از ذخیره چندین بار یک عنصر پشتیبانی می کند در حالی که Set از ذخیره چند بار یک عنصر مشابه پشتیبانی نمی کند. مجموعه همیشه عناصر منحصر به فرد را حفظ می کند.

توصیه شده: