-
جمعه 11 مرداد 1387, 19:27 عصر
#1
کاربر جدید
تفاوت بین یک HashTable و <>Dictionary چیست
خوب تا اونجایی که من می دونم HashTable برای ایجاد جداول با قابلیت جستجو است یعنی موقع اضافه کردن یک شی به یک HashTable نیاز به تعریف یک کلید می باشد که این کلید یکتا بوده و دو شی با کلید یکسان نمی توانند در HashTable موجود باشند. این کلاس در فضای نام System.Collection قرار دارد. اما سوالی که برام به وجود اومده اینه که در فضای نام System.Collections.Generic یک کلاس به نام <Dictionary<Tkey, Tvalue وجود دارد که همان کار HashTable را با آن می توان انجام داد. من می خواستم بدونم که این دو کلاس صرفا دو روش مختلف برای ایجاد جداول با قابلیت جستجو هستند یا اینکه از نظر ظرفیت یا اشغال حافظه با هم تفاوت دارند؟
-
شنبه 12 مرداد 1387, 01:39 صبح
#2
کاربر دائمی
نقل قول: تفاوت بین یک HashTable و <>Dictionary چیست
سلام
این دو مورد، نوعی از Collection ها هستند که میتوانید مدل های مختلف دیگری با نوع متغیر و الگوریتم های متفاوت را هم باز بیابید.
کلاس Dictionary مورد نظر شما، چون generic است، میتواند تیپ کلید و دیتایش تغییر کند و بسته به نیاز ما ست شود.
کلاس HashTable یک مجموعه عمومی است که با Object کار میکند و برای نگه داری شی های اشاره گری حجیم بسیار مناسب است، و به خاطر الوریتم خاصی که دارد، سرعت یافتن آیتم مورد نظرش در این شرایط بیشتر و بهینه است، مثلاً نگه داری مجموعه ای از کنترلرهای فرم.
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت