نقشه (Map)
«نقشه جاوا» جایی است برای نگه داری «کلید-مقدار». «کلید (Key)» شناسه یکتا است. «مقدار (Value)» می تواند تکراری باشد. مثل دفتر حضور مدرسه؛ نام دانش آموز کلید است و کلاس او مقدار است.
نقشه جاوا چیست؟
رابط «Map» بخشی از «چارچوب مجموعه ها» است. این رابط جفت های کلید-مقدار را نگه می دارد. هر کلید یکتا است؛ اما مقدار می تواند تکرار شود.
نکته: وقتی می خواهی یک مقدار را به یک شناسه وصل کنی، از Map استفاده کن.
کلاس های مهم در Map
سه پیاده سازی رایج وجود دارد. هرکدام رفتار متفاوتی درباره ترتیب دارند.
- HashMap — سریع و بدون ترتیب تضمینی.
- TreeMap — مرتب شده بر اساس کلید.
- LinkedHashMap — حفظ ترتیب ورود.
روش های رایج در Map
این متدها در کارهای روزمره خیلی می آیند.
put(): افزودن یا به روزرسانی یک جفت کلید-مقدار.get(): گرفتن مقدارِ مربوط به یک کلید.remove(): حذف کلید و مقدارش.containsKey(): بررسی وجود یک کلید.keySet(): دریافت مجموعه همه کلیدها.
مقایسه Map با Set و List
این جدول تصمیم گیری سریع بهت کمک می کند.
- تکراری ها: در List بله؛ در Set خیر؛ در Map برای کلید خیر.
- کلید-مقدار: فقط Map دارد.
- ترتیب: در List بله؛ در Set و Map بسته به نوع.
گام های تمرینی
- یک مسئله مدرسه ای انتخاب کن؛ مثلاً «شماره دانش آموز ↔ نام».
- تصمیم بگیر کدام نوع Map مناسب تر است.
- متدهای put، get و containsKey را روی کاغذ شبیه سازی کن.
نکته: اگر فقط یکتایی مهم است، صفحه مجموعه (Set) را ببین. اگر ترتیب فهرست مهم است، به LinkedHashSet هم سر بزن.
جمع بندی سریع
- Map جفت کلید-مقدار نگه می دارد.
- کلید باید یکتا باشد.
- HashMap سریع و بی نظم است.
- TreeMap بر اساس کلید مرتب است.
- LinkedHashMap ترتیب ورود را حفظ می کند.