مقایسه ویژگی های List و Set

سلام به همه پی وی لرنی های عزیز!
List و Set هر دو ساختار بسیاری از داده های پشتیبانی شده توسط #C سی شارپ است. List ک ساختار داده انتزاعی است که خطی است و شامل عناصری است که به روشی خطی مرتب شده اند. می توان عناصر را در موقعیت های مختلف به List اضافه کرد. List دارای خاصیتی به نام طول (تعداد عناصر موجود در List ) است. در این مقاله می خواهیم به مقایسه ویژگی های List و Set بپردازیم.

مقایسه ویژگی های List و Set

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

نمونه ای از کد List

مثال : 

خروجی کد List

مقایسه ویژگی های List و Set

مقایسه ویژگی های List و Set – خروجی کد List

نمونه ای از کد Set

مثال : 

خروجی کد Set

مقایسه ویژگی های List و Set

مقایسه ویژگی های List و Set – خروجی کد Set

آشنایی با تفاوت های List و Set

در ادامه جدولی ارائه کرده ایم که می تواند در شناخت تفاوت های عمده میان این دو مفید باشد.

ListSet
۱٫ می تواند شامل عناصر تکراری باشد۱٫ عناصر باید منحصر به فرد باشند
۲٫ ترتیب عناصر مهم است۲٫ ترتیب عناصر مهم نیست ، اما بستگی به اجرای آن دارد.
۳٫ با استفاده از فهرست به عناصر دسترسی پیدا می کنید.۳٫ خود عناصر شاخص هستند.
۴- رابط مورد استفاده برای پیاده سازی لیست System.Collections.IList است.۴- واسط مورد استفاده برای پیاده سازی مجموعه System.Collections.ISet است.
۵- این لیست به عنوان یک لیست استاتیک (با استفاده از آرایه) و لیست پویا (لیست لینک شده ) پیاده سازی می شود.۵٫ مجموعه ها به صورت hashset (hashtable) و مجموعه مرتب شده پیاده سازی می شوند

کلام آخر

در این مقاله به مقایسه ویژگی های List و Set پرداختیم و وجوه تفاوت هایی هر یک از این دو را شناختیم و آن را در نمونه هایی بررسی کرده ایم. امیدوارم این مقاله مفید باشد. با پی وی لرن همراه باشید.

به اشتراک بگذارید