همانطور که میدانید، کلاس Map، آرایهای ایجاد میکند که هر خانه از آن آرایه، یک کلید واحد نیز برای خود دارد و این کلید نیز میتواند از هر نوع دلخواهی تعریف شود. اما حالا فرض کنید بخواهید حلقهای بنویسید که علاوه بر دسترسی به مقدار، به کلید نیز دسترسی داشته باشد و بتوانید داخل حلقه، خود کلید را نیز به دست آورید.
مراحل انجام کار
برای اینکه بتوان حلقهای نوشت که به ازای هر مقدار در آرایهی Map، به کلید نیز دسترسی داشته باشد، میتوان به صورت زیر عمل کرد:
for (Map.Entry<String, String> entry : map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + "/" + value); }
این کد به شرح زیر است:
- کلاس Entry: کلاسی جنریکی میباشد که هرخانه از آرایه Map را شامل میشود. نوع این کلاس، با توچه به نوع Map مورد نظر تعیین میشود. و همچنین این کلاس، به عنوان یک کلاس تو در تو، داخل خود کلاس Map تعریف شده است.
- متد entrySet کلاس Map: برای گرفتن آرایهی آبجکتهایی از جنس کلاس Entry استفاده میشود؛ که این آرایه داخل Map قرار دارد.
- متد getKey کلاس Entry: کلید مقدار را برمیگرداند
- متد getValue کلاس Entry: خود مقدار را برمیگرداند و چون در اینجا، هردو از جنس String هستند، لذا میتوان آنها را چاپ کرد.
نظرات ثبت شده بدون دیدگاه