سلام.
نقل قول نوشته شده توسط InvBoy01001 مشاهده تاپیک
1) hash map چیه و چه کاربردی داره؟
در .Net کلاسی با این نام سراغ ندارم ولی معادلش همون Hashtable و Dictionary هستند که مقادیر رو به صورت KeyValuePaire ذخیره می کنند و برای افزایش سرعت در دسترسی به Value ها مقادیر Key رو به صورت Hash نگهداری می کنند.

نقل قول نوشته شده توسط InvBoy01001 مشاهده تاپیک
2) وقتی من یک آرایه را به hash table اضافه کردم میتونم hash table به عنوان یه فایل جدید ذخیره کنم و دوباره اون آرایه را بازگردانی کنم (از خود فایل ذخیره شده) ؟
Hashtable که Serializable هست ولی بستگی به این داره که انواعی که به عنوان Value استفاده می کنید قابلیت Serialize شدن رو داشته باشند.

نقل قول نوشته شده توسط InvBoy01001 مشاهده تاپیک
3) اگه آرایه من دارای 10 تا آیتم باشه که مجموعه این آیتم ها 50 بیت حافظه بگیره بعد از این که hash table به عنوان یه فایل ذخیره کردم ، اون فایل جدید چقدر حافظه استفاده میکنه؟
50 بیت که امکانپذیر نیست ولی اگر منظورتون بایت هست، بستگی به نوع Serialization داره که استفاده می کنید. مثلا XML Serialization نسبت به Binary Serialization ممکنه فضای بیشتری نیاز داشته باشه و البته به خود نوعی که امکان Serialize شدن رو فراهم میکنه هم خیلی بستگی داره. اما در کل علاوه بر Data ممکنه اطلاعاتی هم در مورد Type ذخیره بشه که ممکنه قدری حجم اطلاعات ذخیره شده بالاتر از تصور شما باشه.

نقل قول نوشته شده توسط InvBoy01001 مشاهده تاپیک
4) dictionary چیست و چه مواقعی بهتر ازش استفاده کنم؟
در واقع همون Hashtable هست با امکان Strong typing که به دلیل اینکه نوع Key و Value از قبل مشخص میشند دیگه نیازی به Type Casting هنگام دسترسی به مقادیر نیست و از طرفی هم محدودیتی رو براتون به همراه داره که نمی تونید در حالت عادی از اشیائی با انواع مختلف رو در Key یا Value قرار بدید.